Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/02/2006, 12:05
Avatar de onlykfk
onlykfk
 
Fecha de Ingreso: agosto-2005
Ubicación: 20°45' Latitud Norte 100°
Mensajes: 121
Antigüedad: 19 años, 6 meses
Puntos: 1
Como saber cual es el SOAPAction

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
__________________
Yo tan sólo se, que no he senado