JAX-WS @WebParam自定义参数名称无效
在使用myeclipse 自动对service方法类进行创建webservice服务时,默认创建参数命名都是arg0-9
这样就导致生成的xml配置文件命名不规范,需要对参数名称进行修改;
myeclipse 创建webservice可以查看这个:
第一步:导入jar包
cxf-2.3.0.jar --这个自己网络找一个。
第二步:
添加接口类,如
@WebService
public interface ITestServiceDelegate {
public String SendSmsCode(
@WebParam(name="user") User user,
@WebParam(name="name") String name
);
}
@WebService(
targetNamespace = "http://service.com/",
serviceName = "TestServiceService",
portName = "service/TestServicePort",
wsdlLocation = "WEB-INF/wsdl/TestServiceService.wsdl") public class TestServiceDelegate implements ITestServiceDelegate { public String SendSmsCode( @WebParam(name="user") User user, @WebParam(name="name") String name ) {return ""; }
}
第三步:修配置文件
WEB-INF/wsdl/TestServiceService.wsdl -- 这个在不生效的时候,可以添加;--正常情况下不需要指定的
<portType name="TestServiceDelegate"> <operation name="DoQuery" parameterOrder="user name"> <input message="tns:DoQuery"/> <output message="tns:DoQueryResponse"/> </operation>
</portType>
WEB-INF/wsdl/TestServiceService_schema1.xsd
把里面的arg0修改给user,arg1修改为arg1
如果没生效:可以先refresh 和clean 一下项目;
然后就OK了,如有问题,可以留言