我正在对服务进行Java优先开发,并且生成的WSDL文件(我使用Tomcat v6.0作为我的CXF Servlet的容器)使用arg0,arg1等作为我的参数名称服务方法,而不是使用我的Java代码中指定的实际参数名称。这是一个众所周知的缺点还是我做错了什么? WSDL不是非常自我记录的参数名称这样! 这是一个示例wsdl片段:
<xs:complexType name="insertVendor">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string"/>
<xs:element minOccurs="0" name="arg1" type="xs:string"/>
<xs:element minOccurs="0" name="arg2" type="xs:string"/>
<xs:element minOccurs="0" name="arg3" type="xs:string"/>
<xs:element minOccurs="0" name="arg4" type="xs:string"/>
<xs:element minOccurs="0" name="arg5" type="xs:string"/>
<xs:element minOccurs="0" name="arg6" type="xs:string"/>
<xs:element minOccurs="0" name="arg7" type="xs:string"/>
<xs:element minOccurs="0" name="arg8" type="xs:string"/>
<xs:element minOccurs="0" name="arg9" type="xs:string"/>
<xs:element minOccurs="0" name="arg10" type="xs:string"/>
<xs:element minOccurs="0" name="arg11" type="xs:string"/>
</xs:sequence>
谢谢, mallesh
答案 0 :(得分:0)
您可以创建请求类并将其传递给服务方法
Class Requestclass(){
//你想要的所有参数,创建POJO类
}
在你的方法中传递这个类,
insertVendor(RequestClass req){}
答案 1 :(得分:0)
以下是answer
官方回答:JAX-WS规范(特别是第3.6.1节)要求以这种方式生成它。要自定义名称,必须使用@WebParam(name =“blah”)注释来指定更好的名称。 (您可以使用@WebResult作为返回值,但只有在查看XML时才会看到结果。)