could somebody help me with this issue, this is my code in PHP, I am trying to get information from a web service in xml
$cliente = newSoapClient("http://000.000.000.000/uat_abbott_service/AbbottService.svc?wsdl", array("trace" => 1, "exception" => 0));
$parametros_entCredencial = array();
$parametros_entCredencial['Login'] = 'PAGUE';
$parametros_entCredencial['Password'] = 'P4gu3';
$parametros_entCredencial['SucursalId'] = '1';
$parametros_entCredencial['SucursalCaja'] = '11';
$parametros_entCredencial['EmpleadoId'] = '22222';
$parametros_entPaciente = array();
$parametros_entPaciente['Documento'] = '9837720122';
$parametros_entPaciente['Tarjeta'] = '';
$parametros_ValidarPaciente = array();
$parametros_ValidarPaciente = array_merge($parametros_entCredencial, $parametros_entPaciente);
$parametros_ValidarPaciente = (object)$parametros_ValidarPaciente;
var_dump($parametros_ValidarPaciente);
echo "<br />";
$respuesta = $cliente->ValidarPaciente($parametros_ValidarPaciente);
var_dump($respuesta);
echo "<br />";
echo "Last Request<br />";
var_dump( $cliente->__getLastRequest() );
echo "Last answer<br />";
var_dump( $cliente->__getLastResponse() );
echo "end<br />";
I can connect to the web service, but there is a problem in my code, always the response is "Object not instantiated" and __getLastRequest is always empty... how can I sove this one...?
thanks
additionally... when I get functios and types
Functions
ValidarPacienteResponse ValidarPaciente(ValidarPaciente $parameters)
CotizarVentaResponse CotizarVenta(CotizarVenta $parameters)
ConfirmarVentaResponse ConfirmarVenta(ConfirmarVenta $parameters)
ValidarCancelacionResponse ValidarCancelacion(ValidarCancelacion $parameters)
CancelarVentaResponse CancelarVenta(CancelarVenta $parameters)
ConciliarVentaResponse ConciliarVenta(ConciliarVenta $parameters)
ConciliarCancelacionResponse ConciliarCancelacion(ConciliarCancelacion $parameters)
Types
struct entCredencial { string Login; string Password; string SucursalId;
string SucursalCaja; string EmpleadoId; }
struct entPaciente { string Documento; string Tarjeta; }
struct entToken { string Token; entMensaje Mensaje; }
struct entMensaje { short Codigo; }
struct ArrayOfentMedicamento { entMedicamento entMedicamento; }
struct entMedicamento { string Codigo; string CodigoDeBarras; int Cantidad; }
struct entCotizacion { string Id; entMensaje Mensaje; entCompra Compra; entSugerenciaCompra SugerenciaCompra; }
struct entCompra { ArrayOfentMedicamentoCompra Medicamentos; }
struct ArrayOfentMedicamentoCompra { entMedicamentoCompra entMedicamentoCompra; }
struct entMedicamentoCompra { string IdentificadorCompra; entMedicamento Medicamento; ArrayOfentBeneficio Beneficios; }
struct ArrayOfentBeneficio { entBeneficio entBeneficio; }
struct entBeneficio { string IdentificadorCompra; string Codigo; string CodigoDeBarras; int Cantidad; boolean Entregado; }
struct entSugerenciaCompra { ArrayOfentMedicamentoCompra Medicamentos; }
struct entTransaccion { string IdConfirmacion; string Ticket; entMensaje Mensaje; }
struct entCancelacion { entToken Token; ArrayOfentMedicamentoCompra Medicamentos; }
struct ValidarPaciente { entCredencial usuario; entPaciente paciente; }
struct ValidarPacienteResponse { entToken ValidarPacienteResult; }
struct CotizarVenta { entToken token; ArrayOfentMedicamento medicamentos; }
struct CotizarVentaResponse { entCotizacion CotizarVentaResult; }
struct ConfirmarVenta { entToken token; string ticket; entCotizacion cotizacion; }
struct ConfirmarVentaResponse { entTransaccion ConfirmarVentaResult; }
struct ValidarCancelacion { entCredencial usuario; entTransaccion transaccion; }
struct ValidarCancelacionResponse { entCancelacion ValidarCancelacionResult; }
struct CancelarVenta { entToken token; entTransaccion transaccion; }
struct CancelarVentaResponse { entTransaccion CancelarVentaResult; }
struct ConciliarVenta { entCredencial usuario; string ticket; }
struct ConciliarVentaResponse { entTransaccion ConciliarVentaResult; }
struct ConciliarCancelacion { entCredencial usuario; string ticket; }
struct ConciliarCancelacionResponse { entTransaccion ConciliarCancelacionResult; }
Maybe all I need to know is how to test and validate all functions, i used soapui from https://www.soapui.org after download the .exe y just put the WS link and wooalaaaaaa, i can get the structure to make a simple array and soap call
this is my solution in php
first a function to convert objects to arrays to know answers
function obj2array($obj) {
$out = array();
foreach ($obj as $key => $val) {
switch(true) {
case is_object($val):
$out[$key] = obj2array($val);
break;
case is_array($val):
$out[$key] = obj2array($val);
break;
default:
$out[$key] = $val;
}
}
return $out;
}
now connect to the ws
$cliente = new SoapClient("http://000.000.00.00/uat_abbott_service/AbbottService.svc?wsdl", array("trace" => 1, "exception" => 0));
prepare the arrays like node in xml using soapui
$usuario = array('Login' => 'USERWS',
'Password' => 'PASSWORD-WS',
'SucursalId' => '1',
'SucursalCaja'=>'11',
'EmpleadoId'=>'22222');
$Paciente = array('Documento'=>'CONSULT',
'Tarjeta'=>''
);
call the funtcion
$respuesta = $cliente->ValidarPaciente(array('usuario'=> $usuario, 'paciente'=> $Paciente));
convert result in array
$result = obj2array($respuesta);
show the answer
echo "Token ".$result["ValidarPacienteResult"]["Token"]."<br />";
echo "Mensaje ".$result["ValidarPacienteResult"]["Mensaje"]["Codigo"]."<br />";