Tengo montado un webservice y estoy tratando de acceder a sus métodos con
soapclient, y me encuentro con problemas. Espero me podáis ayudar.
Tengo la certeza de que el WS está funcionando correctamente, pues acceden a
él desde otras ubicaciones y con otros lenguajes (creo que java).
Por otro lado, veo que el método __getFunctions(), me devuelve un array con
todos los métodos.
$client= new SoapClient('url/xxx.wsdl', array(
'trace'=>1,
'encoding'=>'UTF-8'
));
var_dump($client->__getFunctions());
Salida:
array(5) { [0]=> string(71) "string getUserInfo(string $session, string
$pswd, int $game, int $room)" [1]=> string(95) "string buyCredit(string
$session, string $pswd, int $amount, int $game, int $gameId, int $room)"
[2]=> string(121) "int setLog(string $session, string $pswd, int $game, int
$amount, int $idSpin, int $idSpinMj, int $room, string $results)" [3]=>
string(76) "int logout(string $session, string $pswd, int $game, int $room,
int $gameId)" [4]=> string(61) "string sendData(string $table, string $pswd,
string $xmlData)" }
Para acceder al método "sendData", pongo lo siguiente:
$opciones= array(
'table'=>xxx',
'pswd'=> 'xxxx',
'xmlData'=> 'xxxx'
);
$client= new SoapClient('url/xx.wsdl', array(
'trace'=>1,
'encoding'=>'UTF-8'
));
$client->__call("sendData", $opciones);
Siempre me devuelve este error.
Fatal error: Uncaught SoapFault exception: [SOAP-ENV:Server] Internal Server
Error in ....php:22 Stack trace: #0 ....php(22):
SoapClient->__call('sendData', Array) #1
Este método funciona perfectamente, pues con SOAPUI (como plugin de
netbeans), lo estoy llamando y se ejecuta bien.
También he probado poniendo $client->__soapCall("sendData", $opciones); y el
error es el mismo.
¿Alguien podría ayudarme con esto?.
Muchas gracias.
--
--
Saludos cordiales.
Pablo.
Si lo reenvías, ten la precaución de borrar los datos de procedencia que
encabezarían tu reenvío – empezando por mi dirección de correo
electrónico - . Coloca siempre las direcciones de tus contactos en el
campo <CCO> para que viajen discretas, no en el campo <Para> ni en
el<CC>. De esa forma nadie que lo reciba tendrá constancia de las señas
de los demás destinatarios a los que también se remite. Todo ello a fin
de evitar que nadie se aproveche de todas las direcciones que se van
acumulando al pasar de buzón a buzón para el lanzamiento de correo
basura y otras indeseadas lindezas. Aparte claro está de garantizar la
privacidad.
--
Saludos cordiales.
Pablo.
Si lo reenvías, ten la precaución de borrar los datos de procedencia que
encabezarían tu reenvío – empezando por mi dirección de correo
electrónico - . Coloca siempre las direcciones de tus contactos en el
campo <CCO> para que viajen discretas, no en el campo <Para> ni en
el<CC>. De esa forma nadie que lo reciba tendrá constancia de las señas
de los demás destinatarios a los que también se remite. Todo ello a fin
de evitar que nadie se aproveche de todas las direcciones que se van
acumulando al pasar de buzón a buzón para el lanzamiento de correo
basura y otras indeseadas lindezas. Aparte claro está de garantizar la
privacidad.