2012-09-06 18 views
6

Sto confrontando gli stub client generati da IBM Rational Application Developer con wsimport di Java e si noti che IBM RAD genera una classe extra che è la classe SOAPProxy. Questa classe consente l'impostazione dell'URL del servizio web.Come generare SoapProxy da wsimport?

Come posso generare una classe SOAPProxy in wsimport di Java? Wsimport e Java wsimport di IBM RAD sono uguali?

Sotto sono le classi generate da IBM RAD:

  • ObjectFactory.java
  • package-info.java
  • WSCalculator_Service.java
  • WSCalculator.java
  • WSCalculatorRequest.java
  • WSCalculatorResponse.java
  • WSCalculatorSOAPProxy.java - Questo non viene generato su wsimport di Java. Come posso generare questo usando wsimport di Java?
+0

Quale versione di RAD stai usando? come stai generando il codice? stai utilizzando "Prepara per la distribuzione" nel progetto EAR allegato? Qualcos'altro che stai facendo? – Isaac

risposta

0

Ogni utensile (JBoss WS, wsimport, Apache CXF, RAD, ecc) che genera classi da un WSDL fa leggermente diverso e non tutti generare le stesse classi, anche se sono generalmente simili. Ma ci sarà un modo per fornire il proprio URL che punta a un WSDL. Non ho familiarità con RAD e come si genera servizi web ma la mia ipotesi è che la classe WSCalculator_Service ha un costruttore che accetta un argomento URL:

WSCalculator_Service service = new WSCalculator_Service(new URL("http://www.domain.com/ws/file.wsdl")); 
WSCalculator port = service.getWSCalculatorPort(); 
port.callWebService(param1, param2, ...); 

A volte il costruttore che accetta un URL richiede anche un QName. Vorrei cercare nella fonte e copiare semplicemente il QName che sta usando.

0

In RAD 9.1 quando si seleziona "Proxy Java" per "Tipo di client:" nella procedura guidata pop-up Client del servizio Web, viene creato anche il codice proxy. Wsimport.exe incluso con RAD non sembra creare il codice proxy tramite la riga di comando.

Problemi correlati