PHP - Server wa unable to process request ---> Object reference not set to an instance of an object

 
Vista:

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por Jers (5 intervenciones) el 01/02/2016 16:41:08
Amigos estoy tratando de utilizar unos metodos de un Web Services wsdl utilizando SoapClient y me retorna el siguiente error:

Server wa unable to process request ---> Object reference not set to an instance of an object

aquí muestro el código utilizado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ws_url   = "https://xxxxxxxxx.asmx?wsdl";
    $location = "https://xxxxx.asmx";
    define("TIMEOUT", 25);
    ini_set('default_socket_timeout', TIMEOUT);
 
 
 
 
   $opts = array( 'ssl'   => array( 'verify_peer'  => false));
   $streamContext = stream_context_create($opts);
 
    try{
        $client = new SoapClient($ws_url, array ("soap_version" => SOAP_1_1,"location" => $location,'keep_alive' => true,'trace' => 1,'cache_wsdl' => WSDL_CACHE_NONE,"stream_context" => $streamContext));
 
        $m = "AuntenticarCliente";
        $d = array("Usuario" => "user","Password" => "clave");
 
        try{
 
            $result = $client->__soapCall($m, $d);
            var_dump($result);
 
        } catch (Exception $ex) {
            var_dump($ex);
        }
 
    }catch (Exception $ex) {
        var_dump($ex);
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por xve (6935 intervenciones) el 01/02/2016 18:58:00
Hola Jers, en que linea te da el error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por Jers (5 intervenciones) el 01/02/2016 19:52:21
cuando ejecuto el php, me arroja el error, es lo que me retorna el WebServices
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por xve (6935 intervenciones) el 01/02/2016 20:13:59
ya, pero que error??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por Jers (5 intervenciones) el 01/02/2016 20:26:05
Server wa unable to process request ---> Object reference not set to an instance of an object
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por Vainas (262 intervenciones) el 01/02/2016 20:47:35
Buenas:

Puedes mostrar el wsdl? puede que el error este al crear el objeto que se le envia al web service.

Tambien podrias poner el codigo asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
try{
	$client = new SoapClient($ws_url, array ("soap_version" => SOAP_1_1,"location" => $location,'keep_alive' => true,'trace' => 1,'cache_wsdl' => WSDL_CACHE_NONE,"stream_context" => $streamContext));
}catch (Exception $ex) {
	var_dump($ex);
}
 
$m = "AuntenticarCliente";
$d = array("Usuario" => "user","Password" => "clave");
 
try{
	$result = $client->__soapCall($m, $d);
	var_dump($result);
}catch(SoapFault $e) {
	var_dump($e);
}

Hay funciones sino para mirar las funciones de un web service. Tambien existen webs en donde meter la url del web service y te dan parametros para crear la llamada a una funcion.

En todo caso yo creo que el problema esta al crear el objeto a la funcion.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por Jers (5 intervenciones) el 01/02/2016 21:09:08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<s:schema elementFormDefault="qualified" targetNamespace="http://xxxxxx.com/">
      <s:element name="AuntenticarCliente">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AuntenticarClienteResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="AuntenticarClienteResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por Jers (5 intervenciones) el 01/02/2016 21:16:45
El crea el Objeto Soap pero cuando voy a llamar al método AutenticarCliente me arroja la siguiente excepción


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
object(SoapFault)#2 (10) {
  ["message":protected]=>
  string(96) "Server was unable to process request. ---> Object reference not set to an instance of an object."
  ["string":"Exception":private]=>
  string(0) ""
  ["code":protected]=>
  int(0)
  ["file":protected]=>
  string(33) "/home/proyecto/ws/core/net/test.php"
  ["line":protected]=>
  int(29)
  ["trace":"Exception":private]=>
  array(1) {
    [0]=>
    array(6) {
      ["file"]=>
      string(33) "/home/proyecto/ws/core/net/test.php"
      ["line"]=>
      int(29)
      ["function"]=>
      string(10) "__soapCall"
      ["class"]=>
      string(10) "SoapClient"
      ["type"]=>
      string(2) "->"
      ["args"]=>
      array(2) {
        [0]=>
        string(18) "AuntenticarCliente"
        [1]=>
        array(2) {
          ["Usuario"]=>
          string(4) "user"
          ["Password"]=>
          string(5) "clave"
        }
      }
    }
  }
  ["previous":"Exception":private]=>
  NULL
  ["faultstring"]=>
  string(96) "Server was unable to process request. ---> Object reference not set to an instance of an object."
  ["faultcode"]=>
  string(11) "soap:Server"
  ["detail"]=>
  string(0) ""
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Server wa unable to process request ---> Object reference not set to an instance of an object

Publicado por Vainas (262 intervenciones) el 03/02/2016 17:10:48
Intenta creando un objeto de este modo:

$params = new StdClass();
$params->user = '****';
$params->password = '****';

y le pasas $params a la function. No se mucho de los xml de soap pero he leido que los complexType se pasan como objetos en php.

Si pudieras colocar algun sniffer a mitad de la peticion podrias comprobar que se envia y que regresa el servidor a ver si esta bien.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar