strip_tags - La solicitud SOAP de PHP no funciona



remove html tags from string (2)

Creo que estás muy cerca de conseguir que este código funcione. También me gustaría dar crédito a esta respuesta en StackOverflow, se ve muy similar a lo que está preguntando:

El error "Referencia de objeto no configurado a una instancia de un objeto" se conecta al servidor SOAP desde PHP

Así que tal vez deberías simplemente disparar el método directamente, así:

$client->SOME_FUNCTION(array("request" => array('cedula'=>'XXXX','contrasena'=>'YYYYYY'));

¡Espero que ayude! :)

Tengo un servicio web disponible @ http: //www.xxxxx/zzzzzzzz/service.asmx y estoy tratando de enviar una solicitud SOAP para el método - some_function con ambos parámetros pero aún no puedo obtener la conexión.

Este es mi código:

<?php

$param = array('cedula'=>'XXXX','contrasena'=>'YYYYYY');

$client = new SoapClient("http://www.xxxxx/zzzzzzzz/service.asmx?wsdl");
$result = $client->__soapCall('some_function', $param);

print $result;

?>

El error que estoy recibiendo es:

Error fatal: excepción SoapFault no detectada: el servidor [soap: Server] no pudo procesar la solicitud. ---> Referencia de objeto no establecida en una instancia de un objeto. en /home/zzzz/XXXXXXXXXX.com/uni/index.php:6 Stack trace: # 0 /home/zzzz/XXXXXXXXXX.com/uni/index.php(6): SoapClient -> __ soapCall ('some_function', Matriz ) # 1 {main} lanzado en /home/zzzz/XXXXXXXXXX.com/uni/index.php en la línea 6

Por favor sugiere las correcciones. Muchas gracias de antemano :)


Answer #1

Creo que podría ser un problema en wsdl para el servicio SOME_FUNCTION.

Aquí está la lista de servicios: http: //www.xxxxxx/zzzzzzzzzz/service.asmx

Todos funcionan, pero SOME_FUNCTION no funciona. Vaya a la url http: //www.xxxxxx/zzzzzzzzzz/service.asmx? Op = SOME_FUNCTION e intente configurar los parámetros y haga clic en Invocar. No funcionará y lanzará la excepción "Referencia de objeto no configurada a una instancia de un objeto". Luego prueba con otro servicio, funcionará y devolverá algunos resultados.

Ejemplo para el servicio OTHER_FUNCTION funciona:


$param = array('estatus'=>'XXXX');

$client = new SoapClient("http://www.xxxxxx/zzzzzzzzzz/service.asmx?wsdl");
$result = $client->__soapCall('OTHER_FUNCTION', $param);

print_r($result);




wsdl