Usuario
Cliente de Axis web service apachesoap:Document

Pregunta
-
Hola a todos,
tengo que desarrollar un cliente en VB .NET de un servicio web de axis en Java; donde en los mensajes se intercambian XML's, el WSDL es
<?xml version="1.0" encoding="UTF-8"?>
<wsdlefinitions xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://kk2" xmlns:intf="http://kk2" xmlns
oapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://kk2">
<wsdl:message name="myServiceRequest">
<wsdlart name="document" type="apachesoap
ocument"/>
</wsdl:message>
<wsdl:message name="myServiceResponse">
<wsdlart name="myServiceReturn" type="apachesoap
ocument"/>
</wsdl:message>
<wsdlortType name="KK2">
<wsdlperation name="myService" parameterOrder="document">
<wsdl:input name="myServiceRequest" message="impl:myServiceRequest"/>
<wsdlutput name="myServiceResponse" message="impl:myServiceResponse"/>
</wsdlperation>
</wsdlortType>
<wsdl:binding name="KK2SoapBinding" type="impl:KK2">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdlperation name="myService">
<wsdlsoapperation soapAction="--"/>
<wsdl:input name="myServiceRequest">
<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://kk2"/>
</wsdl:input>
<wsdlutput name="myServiceResponse">
<wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://kk2"/>
</wsdlutput>
</wsdlperation>
</wsdl:binding>
<wsdlervice name="KK2Service">
<wsdlort name="KK2" binding="impl:KK2SoapBinding">
<wsdlsoap:address location="http://localhost:8080/test2/services/KK2"/>
</wsdlort>
</wsdlervice>
<!--WSDL created by Apache Axis version: 1.3
Built on Oct 05, 2005 (05:23:37 EDT)-->
</wsdlefinitions>
El problema es que al intentar generar el cliente no reconoce el tipo de dato "apachesoapocument" y no consigo encontrar su definición.
He intentado cambiar el tipo de dato a "xsd:anyType", pero entonces en las clases de .NET generadas tengo problemas en la serialización de los mensajes. LLevo ya mucho tiempo perdido y he conseguido realizar la comunicación implementando mensajes SOAP, pero me gustaría saber si se puede hacer de con un cliente de servicios web normal, o me tengo que quedar con el cliente SOAP.
Gracias.
Todas las respuestas
-
-
Hola,
No se cual es el problema exactamente pero tal vez esto os pueda ayudar:
XmlNamespaceManager nombreFS = new XmlNamespaceManager(documento.NameTable);
nombreFS.AddNamespace("fs", "http://search.web.com/2008/FS");
XmlNodeList nodos = documento.SelectNodes("/feed/fs:navigators/fs:navigator[@name='provinceextnavigator']/fs:navelem", nombreFS);
En este caso declaro un NameSpace de XML para poder hacer busquedas sobre un documento que contiene ese espacio de nombres, ya que sino el sistema no lo reconoce por si solo.
El objeto XmlNamespaceManager os puede ser de utilidad.
http://msdn.microsoft.com/es-es/library/system.xml.xmlnamespacemanager(VS.80).aspx
Saludos.
Colabora con el foro: Si este mensaje te es de utilidad marcalo como respuesta.
Javier Conesa
MCP - Analista Programador
Web: http://www.moreplus.es/index.aspx