かなり驚いていますが、しばらく試してみたところ、jax-wsでは実際にはできないようです(実装によっては非標準的な方法を除いて)。これは、jax-ws2.0仕様がこの問題について述べていることです。JavaからWSDL1.1へのマッピング、セクション3.5、32ページを参照してください。
wsdl:message要素のname属性の値は重要ではありませんが、慣例により、通常、入力メッセージの対応する操作名および出力メッセージの「応答」と連結された操作名と同じです。障害メッセージの命名については、セクション3.7で説明しています。
したがって、私の頭に浮かぶ唯一のオプションは、たとえば@WebMethod
注釈を変更または追加することによって、操作の名前を変更することです。次に例を示します。
@WebMethod(operationName = "echoStringRequest")
public String echoString(String echoStringRequest) {
return echoStringRequest;
}
これにより、次が生成されますportType
。
<portType name="MyWebService">
<operation name="echoStringRequest">
<input message="tns:echoStringRequest"></input>
<output message="tns:echoStringRequestResponse"></output>
</operation>
</portType>
このバージョンに満足するかどうかの決定はあなた次第です。