Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2017, 02:26
juliana2812
 
Fecha de Ingreso: mayo-2014
Mensajes: 28
Antigüedad: 10 años
Puntos: 0
Webservice SOAP php

Hola a todos, necesito vuestras ayuda
Espero que sea el lugar correcto

El caso es que tengo que conectar a un webservice SOAP, usando PHP, y no hay manera... :(

Me han dado la ubicación, que es algo como esto:
http://xxx/xxx/Servicios?wsdl (pongo las xxx por omitir la url real), de la cual tengo un usuario y una contraseña.

Han implementado un método, llamado selectLectores y me dicen que las request son de este tipo:

Código:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:impl="http://xxxxxxxxx">
        <soapenv:Header>
         <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
           <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
             <wsse:Username>miusuario</wsse:Username>
             <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">mipassword</wsse:Password>
           </wsse:UsernameToken>
         </wsse:Security>
       </soapenv:Header>
   <soapenv:Body>
      <impl:selectLectores>
         <arg0>
            <!--Obligatorio:-->
            <centro>51000286</centro>
            <!--Optional:-->
            <codigoLector>14103</codigoLector>
         </arg0>
      </impl:selectLectores>
   </soapenv:Body>
</soapenv:Envelope>
El caso es que me intento conectar con php con el siguiente código:

Cita:
$servicio="http://xxx/xxx/Servicios?wsdl";
$parametros=array();
$parametros['centro']=51000286;
$validacion = array(
'Username' => 'miusuario',
'Password' => 'mipassword'
);

$client = new SoapClient($servicio,$validacion);
$result = $client->selectLectores($parametros);
Pero no me funciona, me devuelve el siguiente error:
500 | Internal Server Error | SoapFault
java.lang.NullPointerException

¿Alguien sabría decirme que estoy haciendo mal, o como debo hacerlo?

Muchas gracias
Un saludo