2012-09-06 20 views
6

Estoy comparando los stubs de clientes generados por IBM Rational Application Developer con wsimport de Java y noto que IBM RAD genera una clase extra que es la clase SOAPProxy. Esta clase permite la configuración de la URL del servicio web.¿Cómo generar SoapProxy desde wsimport?

¿Cómo puedo generar una clase SOAPProxy en wsimport de Java? ¿Son iguales el wsimport de IBM RAD y el wsimport de Java?

A continuación se presentan las clases generadas por IBM RAD:

  • ObjectFactory.java
  • package-info.java
  • WSCalculator_Service.java
  • WSCalculator.java
  • WSCalculatorRequest.java
  • WSCalculatorResponse.java
  • WSCalculatorSOAPProxy.java - Esto no se genera en wsimport de Java. ¿Cómo puedo generar esto usando wsimport de Java?
+0

¿Qué versión de RAD estás usando? ¿Cómo está generando el código? ¿Está utilizando "Prepararse para la implementación" en el proyecto EAR adjunto? ¿Algo más que estés haciendo? – Isaac

Respuesta

0

Cada herramienta (JBoss WS, wsimport, Apache CXF, RAD, etc) que genera las clases a partir de un WSDL lo hace de forma ligeramente diferente y no todos generar las mismas clases, a pesar de que suelen ser similares. Pero habrá una forma de suministrar su propia URL que apunte a un WSDL. No estoy familiarizado con el RAD y cómo se genera servicios web, pero creo que ha de ser que la clase WSCalculator_Service tiene un constructor que toma un argumento 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 veces, el constructor que toma una URL también requiere un QName. Buscaría en la fuente y simplemente copiaría el QName que está usando.

0

En RAD 9.1 cuando selecciona "Java Proxy" para "Tipo de cliente:" en el asistente emergente de Web Service Client, también crea el código proxy. El wsimport.exe incluido con RAD no parece crear el código proxy a través de la línea de comandos.

Cuestiones relacionadas