Saludos estimados gurus del Web
Mi pregunta esta vez va dirigida a akellos que sepan sobre el famosisimo WebService
Resulta que tengo un WSDL de .NET y me da la siguiente informacion:
<wsdl:binding name="Service1Soap" type="tns:Service1Soap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <wsdl:operation name="HelloWorld">
<soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
De tal manera que al hacer la peticion por medio de SOAP genero el siguiente encabezado:
POST /WSToJava/default.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/HelloWorld"
y la respuesta es exitosa.
Sin embargo tengo un WebService generado por Java (Sun App. Server 8.1) con NetBeans 4.1 y ke me da la siguiente informacion:
<binding name="myWebServiceSEIBinding" type="tns:myWebServiceSEI"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="get_HelloUser">
<soap:operation soapAction="" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
y al hacer el header para el SOAP request lo creo de la siguiente manera:
POST /myWebApplication/myWebService HTTP/1.1
Host: localhost;
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "Que debo poner aqui??"
Basicamente mis dudas son:
1.- ¿Como especificar el SOAPAction o de donde obtenerlo si en la definicion del WS no viene especificada?
2.- ¿Como agregar el namespace en el body del SOAP si es ke lo lleva?
<?xml version="1.0" encoding="UTF-8" ?>
- <env:Envelope env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header />
- <env:Body>
- <get_HelloUser xmlns:Aqui que prefijo usar?="Que debe ir aqui???">
<String_1 xsi:type="xsd:string">Mi valor de cadena uno</String_1>
<String_2 xsi:type="xsd:string">Mi valor de cadena dos</String_2>
</get_HelloUser>
</env:Body>
</env:Envelope>
Alguien que me pueda ayudar por favor, o indicarme ke estoy haciendo mal. agradeceria cualkier sugerencia.
NOTA: para conectarme utilizo un Socket de java.net y una InetAddress tambien de java.net, envio el SOAP document y los headers con un java.io.BufferedReader y obtengo como respuesta en un java.io.BufferedWriter
SALUDOS