En el ejemplo que he puesto, basicamente primero se loguea el usuario, y con este logueo nos devuelven un numero de ticket, y luego con el ticket obtenemos la info del usuario, por eso es que hacemos dos llamadas a 2 funciones diferentes.
Y luego de la parte de request y response, nos detalla las funciones y parametros a utilizar, si nos fijamos bien, yo utilice una llamada "LogonUser" la cual tiene como parametro de salida "LogonUserResponse", ver esta linea
Código PHP:
Ver original2 => 'LogonUserResponse LogonUser(LogonUser $parameters)',
Y luego mas abajo nos dice como se envian los parametros y como los recibimos, ver:
Código PHP:
Ver original14 => 'struct LogonUser {
string user;
string password;
}',
15 => 'struct LogonUserResponse {
LogonUserResult LogonUserResult;
}',
16 => 'struct LogonUserResult {
string Code;
string Message;
string Ticket;
Por lo tanto debemos enviar un array con el parametro "user" y "password" y luego este array se contiene en otro con el nombre "LogonUser", para entender mejor, ver la parte del codigo siguiente:
Código PHP:
Ver original$this->request=array("user"=>$usuario,"password"=>$password); $req = $ws->__soapCall
('LogonUser',[B
]array('LogonUser'=>$this->request))[/B
];
Ahora bien, cuando queremos obtener el resultado, este viene como un objeto tambien, en nuestro caso con 3 parametros, y para acceder lo hacemos asi:
Código PHP:
Ver original$res = $req->LogonUserResult;
$CodigoRespuesta=$res->Code;
$Mensaje=$res->Message;
$Ticket=$res->Ticket;
Ojo, hay que respetar minusculas y mayusculas.
Creo qeu es todo por el momento, si hay algo mas que sienta que se me escapo editare el post, y espero que le sea util a alguien.