PHP - Servicios web - Error de conexión a SOAP desde PHP

   
Vista:

Servicios web - Error de conexión a SOAP desde PHP

Publicado por jblanco (1 intervención) el 24/09/2010 15:35:24
Buenos dias,

Estoy intentando utilizar servicios web por medio de SOAP desde PHP utilizando las funciones nativas de PHP5.
La intención es realizar una conexión con el proveedor del servicio y recuperar los articulos que dicho proveedor ofrece. Para ello el proveedor nos ha proporcionado una URL y una API con los metódos pero nada más hacer la conexión ya emite un error sin posibildiad de seguir avanzando.

Paso a detallar el codigo que utilizo para conectarme y el error que me da:

php:

$servicio="http://..../ServiciosCliente.svc?wsdl"; //url del servicio
$client = new SoapClient($servicio);

El Error:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: <message> 'ServiciosCliente_Login_InputMessage' already defined in /home/web/.../andorra.php:8 Stack trace: #0 /.../andorra.php(8): SoapClient->SoapClient('http://mayorist...') #1 {main} thrown in /home/web/.../andorra.php on line 8

Si vas a la URL del servicio directamente desde el navegador da esta respuesta:

<wsdl:definitions name="ServiciosCliente" targetNamespace="http://...">
<wsdl:import namespace="http://tempuri.org/" location="http://.../Servicios/ServiciosCliente.svc?wsdl=wsdl0"/>

<wsdl:types>

<xsd:schema targetNamespace="http://.../Imports">
<xsd:import schemaLocation="http://.../Servicios/ServiciosCliente.svc?xsd=xsd0" namespace="http://..."/>
<xsd:import schemaLocation="http://.../Servicios/ServiciosCliente.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
<xsd:import schemaLocation="http://.../Servicios/ServiciosCliente.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/NovaEngelMayoristas.Dominio.Entidades"/>
<xsd:import schemaLocation="http://.../Servicios/ServiciosCliente.svc?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
</xsd:schema>
</wsdl:types>

<wsdl:message name="ServiciosCliente_Login_InputMessage">
<wsdl:part name="parameters" element="tns:Login"/>
</wsdl:message>

<wsdl:message name="ServiciosCliente_Login_OutputMessage">
<wsdl:part name="parameters" element="tns:LoginResponse"/>
</wsdl:message>

He substituido el nombre del proveedor por los puntos pero como se puede observar el error de conexión tiene que ver con ServiciosCliente_Login_InputMessage. Para acceder a los datos nos hemos de logar utilizando una funcion Login(usuario,contrasenya) y e intentado pasar los datos de usuario y contrasenya al realizar la conexión pero no ha funcionado.

Para verificar que no es un problema del codigo php me he conectado por SOAP a eBay y he recuperado las funciones disponibles y ningún problema utilizando estas lineas:

php:
$client = new SoapClient('http://developer.ebay.com/webservices/latest/ShoppingService.wsdl');
var_dump($client->__getFunctions());

Alguien me puede decir si el fallo es mio que tendria que pasar algun parametro más al realizar la conexión con el proveedor o es un fallo de su servicio?

Gracias,
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