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了,如有问题,可以留言

 

posted @ 2017-04-19 12:08  learcher  阅读(7013)  评论(2编辑  收藏  举报