2010-10-18 24 views
5

Ho un file WSDL (il servizio Web è stato scritto da .NET) e posso generare le classi e i codici del client del servizio Web java in IntelliJ IDEA 7.0.4 dal suo strumento. il web service ha un'intestazione di richiesta soap, ma non posso vedere alcuna proprietà o metodo in classi e codici proxy Java generati automaticamente per impostare l'intestazione della richiesta. (ma quando uso Visual Studio 2008 per generare le classi proxy per C#, un oggetto viene creato nella classe proxy del servizio Web come intestazione in modo da poterlo riempire semplicemente)Come inviare l'intestazione della richiesta SOAP in Java?

cosa devo fare in Java?

+0

Controllare: http://stackoverflow.com/questions/3925272/handler-to-add-http-headers-to-http-request-non-invoked-when-using-axis-client-ap/3981045#3981045 – madhurtanwani

risposta

1

Non sono sicuro di ciò che IntelliJ utilizza per generare classi proxy. Forse AXIS?

Io faccio sanno che se si vuole fare questo con CXF, quando si sta definendo il vostro cliente, il modo migliore è quello di creare una classe che implementa SoapInterceptor e quindi impostarlo come intercettore in uscita.

public void handleMessage(SoapMessage message) throws Fault { 
      message.getHeaders().add(QName.valueOf("foo"), "bar"); 
    } 

In definitiva però, che sta per essere difficile per voi di capire il modo giusto per gestire questo, se non si conosce la libreria il vostro IDE sta usando.

+0

Intellij utilizza l'asse e l'asse2 se disponibile. –

1

Tutte le classi per un client di servizio Web completo possono essere create dallo strumento wsimport incluso in jdk.

http://download.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html

Hai solo bisogno di specificare l'indirizzo wsdl.

+0

Un solo trucco, per aggiungere le intestazioni usando 'wsimport' devi passare un parametro in più nella riga di comando' -XadditionalHeaders'. Ho ricevuto queste informazioni sui commenti di questa [questa domanda] (http://stackoverflow.com/questions/7257539/wsimport-doesnt-generate-code-related-to-soap-headers) –

Problemi correlati