Consumir Web Service que necesita Cabecera(HEAD)

Hola amigos buenos dias, ojala me puedan apoyar, necesito una ayuda urgente, lo que pasa es que estoy intentando de consumir un servicio que tiene este request(Imagen):

el problema es al enviar el Head, favor apoyo e intentado con headler pero no me a funcionando, tambien e visto con anotaciones pero igual no e podido injectarlo al servicio, favor si alguien tiene un ejemplo o algo parecido le estaría muy agradecido, gracias por su ayuda.

AdjuntoTamaño
service.png20.12 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Ziklónico

Amigo no se me ve la imagen.

Amigo no se me ve la imagen. Intenta ponerla en una url o algo ;)

Imagen de Request

Hola, Gracias por responder, que raro yo si veo la imagen(esta adjunta), pero te envio la url de la imagen : http://i62.tinypic.com/2ihwm77.png
haber si me puedes ayudar como enviar ese request actualmente estoy tratando de injectar la cabecera con spring, pero sin éxito hasta el momento. si tuvieras un ejemplo o alguna pista te lo agradecería.

Imagen de oscarblancarte

No es tan simple

Hola jodavivi.
Primero que nada seria interesante que API estas utilizando para consumir el WebService y se creaste los Stub por medio del wsimport.

Como de entrada no se como los generaste me imagino que utilizaste alguna funcion del IDE para importar el WebService y crear los Stub para consumir el WebService, Si fue a si, a qui podemos tener el problema que en el WSDL no este definido el part del header el cual deberá estar definido como parte del mensaje y deberá tener un XML Type, Si no es a si, el IDE crea los Stub a como esta el contrato(WSDL) y no crea las variables y métodos set para establecer estas propiedades.

Tienes dos soluciones, crear a mano todo el request por medio del API de JAX-WS o modificar las clases que te genera el IDE y agregar estas secciones lo cual puede ser muy engorroso si no tiene el cuidado de utilizar los NameSpace adecuados.

NOTA: Si nos compartes el WSDL(Con los Schema que depende) podre darte mas detalle

error al consumir WS con head de seguridad.

Gracias por contestar oscarblancarte, mira yo he generado el cliente con el API de JAX-WS que esta en JDeveloper, para mas detalle te envio un doc donde te describo lo que he echo y el jar del cliente con el wsdl que lo genere.

ruta de zip: http://webdelprincipiante.com/pruebas/servicio.zip

Mi duda es como coloco el Head de seguridad del WS que te menciono en el documento, favor si me puedes apoyar con esto ya que estoy 2 dias investigando pero nada favor si me apoyan gracias.

Imagen de oscarblancarte

Re:

Revise tu WSLD y efectivamente en el contrato no esta definida la sección del header por lo que tendrás que agregarla al WSDL y regenerar las clases con este cambio.
Para esto utiliza el comando de Java wsimport -XadditionalHeaders

El problema lo puedes apreciar en el WSDL AmHub_subscribeproduct_service_1_0.wsdl
el cual debera estar algo a si

 wsdl:operation name="getSubScriptionList">
         soap:operation soapAction="" style="document"/>
           wsdl:input>
                
                soap:header message="xx:MyHeaderType" part="request_header" use="literal"/>
               
soap:body use="literal"/>
            /wsdl:input>
            wsdl:output>
               soap:body use="literal"/>
            /wsdl:output>
            wsdl:fault name="ServiceException">
              soap:fault name="ServiceException" use="literal"/>
            /wsdl:fault>
            wsdl:fault name="PolicyException">
              soap:fault name="PolicyException" use="literal"/>
            /wsdl:fault>
      /wsdl:operation
./pre>
Imagen de jasistemas

Disculpa x no tener una

Disculpa x no tener una solucion en Java, pero unos webservices que consumo en .net me pedian cabeceras (por post o get) y los envie asi (con .net):

Dim wbrq As HttpWebRequest = HttpWebRequest.Create(enlaceWWWdelWerbserviceI)
wbrq.ContentType = "application/json; charset=utf-8" '"application/x-www-form-urlencoded"
If tipoConsulta = 3 Then ' Recuperar Lista de empleados
wbrq.Method = "GET"

'Get the headers associated with the request.
Dim myWebHeaderCollection As WebHeaderCollection = wbrq.Headers
myWebHeaderCollection.Add("sessionId", sessionID)
Else
wbrq.Method = "POST"
If tipoConsulta = 4 Then
'Get the headers associated with the request.
Dim myWebHeaderCollection As WebHeaderCollection = wbrq.Headers
myWebHeaderCollection.Add("sessionId", sessionID)
End If
End If

Imagen de Cid

así es

Yo tuve un problema similar para consumir un servicio con cabeceras y es correcto lo que te menciona @oscarblancarte, cuando lo generaba con myeclipse (igual y tambien hay que moverle al Jdeveloper) la implementación no lo hacia por default y tenia que ir a modificar en algún lado y no tuve mucho tiempo así que mejor decidí utilizar el comando que ya te mencionaron,

wsimport -keep -XadditionalHeaders Archivo/Ruta.wsdl

Ya con el código que te genera ese comando lo copias a tu proyecto de Jdeveloper.

:( ya es vieja la pregunta pero bueno igual y le sirve a otra persona.