jax from example consumir consume web-services wsdl jax-ws

web services - from - Cambiar el nombre del mensaje



web service java netbeans (1)

Estoy bastante sorprendido, pero después de probar durante un tiempo investigué la especificación y parece que realmente no puedes hacer esto en jax-ws (excepto de forma no estándar, dependiendo de la implementación). Esto es lo que dice la especificación jax-ws 2.0 sobre este tema. Consulte Mapeo de Java a WSDL 1.1 , Sección 3.5, página 32:

El valor del atributo de nombre de un elemento wsdl: message no es significativo, pero por convención, normalmente es igual al nombre de operación correspondiente para los mensajes de entrada y el nombre de la operación concatenado con "Response" para los mensajes de salida. La denominación de los mensajes de error se describe en la sección sección 3.7.

Por lo tanto, la única opción que se me ocurre es cambiar el nombre de su operación, por ejemplo, cambiando o agregando una anotación @WebMethod . Aquí hay un ejemplo:

@WebMethod(operationName = "echoStringRequest") public String echoString(String echoStringRequest) { return echoStringRequest; }

Esto generará el siguiente portType :

<portType name="MyWebService"> <operation name="echoStringRequest"> <input message="tns:echoStringRequest"></input> <output message="tns:echoStringRequestResponse"></output> </operation> </portType>

La decisión de si está más satisfecho con esta versión depende de usted.

Aquí está la parte de mi WSDL. Estoy usando el primer acercamiento de código.

<portType name="MyWebService"> <operation name="echoString"/> <input message="echoString"/> <output message="echoStringResponse"/> </operation> </portType>

¿Qué anotación debería agregar o cambiar para cambiar esto?

<input message="echoString"/>

leer como

<input message="echoStringRequest"/>

Gracias a todos.