Ya ese error lo corregí, igual recibía el xml pero algo pasaba que no lo entendía, luego de unos cambios quedó resuelto, ahora me da otro error:
Using text Syntax Highlighting
PHP Fatal error: Uncaugth SoapFault exception: [soap:Client] SoapAction shall match 'uri#method' if present (got 'urn:ws_webserviceAction', expected 'urn:webservice#ultimasAdquisiciones') in cliente.php:13
Stack trace:
#0 cliente.php(13): SoapClient->__call('ultimasAdquisiciones',Array)
#1{main} thrown in cliente.php on line 13
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
El cliente php tiene el siguiente código:
Using php Syntax Highlighting
<?php
$ws_cliente = new SoapClient("http://10.53.9.8/webservice.wsdl",array());
$ver=array();
$adq=array();
$ver = $ws_cliente->__call("ultimasAdquisiciones",$adq);
//echo "<pre>";
print_r($ver);
?>
Coloreado en 0.020 segundos, usando
GeSHi 1.0.8.4
Ya cambié en el wsdl la línea
<soap:operation style="rpc" soapAction="urn:ws_webserviceAction"/>por
<soap:operation style="rpc" soapAction="urn:webservice#ultimasAdquisiciones"/>pero el error se mantiene igual.
Yo creo que lo que necesito es la manera de crear un wsdl que me funcione bien. ¿Existe alguna otra vía? o ¿qué puedo hacer para que este me funcione?
El wsdl que actualmente uso es este:
Using xml Syntax Highlighting
<?xml version="1.0"?>
<!-- webserviceDL file generated by Zend Studio. -->
<definitions name="webservice" targetNamespace="urn:webservice"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:typens="urn:webservice"
>
<types>
<xsd:schema targetNamespace="urn:webservice">
<xsd:complexType name="anyTypeArray">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" webservicedl:arrayType="xsd:anyType[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="anyTypeArray">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" webservicedl:arrayType="xsd:anyType[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="anyTypeArray">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" webservicedl:arrayType="xsd:anyType[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="anyTypeArray">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" webservicedl:arrayType="xsd:anyType[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="anyTypeArray">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" webservicedl:arrayType="xsd:anyType[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="anyTypeArray">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" webservicedl:arrayType="xsd:anyType[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="anyTypeArray">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" webservicedl:arrayType="xsd:anyType[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
</types>
<message name="ultimasAdquisiciones" />
<message name="ultimasAdquisicionesResponse">
<part name="ultimasAdquisicionesReturn" type="typens:AdqArray" />
</message>
<portType name="ws_webservicePortType">
<operation name="ultimasAdquisiciones">
<documentation> ultimasAdquisiciones </documentation>
<input message="typens:ultimasAdquisiciones" />
<output message="typens:ultimasAdquisicionesResponse" />
</operation>
</portType>
<binding name="ws_webserviceBinding" type="typens:ws_webservicePortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ultimasAdquisiciones">
<soap:operation style="rpc" soapAction="urn:webservice#ultimasAdquisiciones"/>
<input>
<soap:body namespace="urn:webservice" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</input>
<output>
<soap:body namespace="urn:webservice" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
<service name="webservice">
<documentation>Servicio Web de Prueba</documentation>
<port name="ws_webservicePort" binding="typens:ws_webserviceBinding">
<soap:address location="http://holiness:8079"/>
</port>
</service>
</definitions>
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Otras veces me ha dado error analizando el wsdl. Ya creo que he tenido n-errores diferentes.
Please, necesito ayuda urgente, necesito generar un wsdl que me funcione para consumir el servicio con cualquier otro lenguaje. Ya con Perl todo me funciona bien, pero necesito que otros lenguajes lo consuman, ya que los sistemas que deben ser clientes están en PHP y Java. Si alguien tiene una idea aunque implique un nuevo wsdl,
please, la necesito. Ya he probado tambien con Pod::WSDL pero no me funcionó y el que me genera el WSDL::Generator tampoco me sirvió, ya este que estoy utilizando tiene varios que los he tenido que hacer manual pero no entiendo mucho sobre el tema y todas las componentes del documento.