在最近的项目中需要做一个webservice的客户端,为了方便,我使用cxf工具自动生成客户端。
1,首先,我从官网上下载了cxf的工具包。解压之后,从cmd进入cxf的bin目录,运行以下命令
结果报路径找不到,经过研究发现,是JDK版本问题,CXF生成工具需要JDK1.5的运行环境,而我的是JDK1.7。更换JDK版本后重新执行以上命令成功的生成了客户端代码。
2,将生成的代码放到工程下,结果发现super相关代码编译报错。开始以为是缺包,结果试着添加了很多的包也没能好使。
- //This
constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
//API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
//compliant code instead. -
public IcpBusinessService(WebServiceFeature ... features) { -
super(WSDL_LOCATION, SERVICE, features); -
} -
-
//This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
//API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
//compliant code instead. -
public IcpBusinessService(URL wsdlLocation, WebServiceFeature ... features) { -
super(wsdlLocation, SERVICE, features); -
} -
-
//This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
//API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
//compliant code instead. -
public IcpBusinessService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) { -
super(wsdlLocation, serviceName, features); -
}
最后发现,其不能正常编译通过是由于jax-ws2.2规约与java6冲突。但程序又不能仅以java5来编译,故需要降低jax-ws规约版本,可以这样处理:
wsdl2java -frontend jaxws21 -client *.xml
在最近的项目中需要做一个webservice的客户端,为了方便,我使用cxf工具自动生成客户端。
1,首先,我从官网上下载了cxf的工具包。解压之后,从cmd进入cxf的bin目录,运行以下命令
结果报路径找不到,经过研究发现,是JDK版本问题,CXF生成工具需要JDK1.5的运行环境,而我的是JDK1.7。更换JDK版本后重新执行以上命令成功的生成了客户端代码。
2,将生成的代码放到工程下,结果发现super相关代码编译报错。开始以为是缺包,结果试着添加了很多的包也没能好使。
- //This
constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
//API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
//compliant code instead. -
public IcpBusinessService(WebServiceFeature ... features) { -
super(WSDL_LOCATION, SERVICE, features); -
} -
-
//This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
//API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
//compliant code instead. -
public IcpBusinessService(URL wsdlLocation, WebServiceFeature ... features) { -
super(wsdlLocation, SERVICE, features); -
} -
-
//This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2 -
//API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1 -
//compliant code instead. -
public IcpBusinessService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) { -
super(wsdlLocation, serviceName, features); -
}
最后发现,其不能正常编译通过是由于jax-ws2.2规约与java6冲突。但程序又不能仅以java5来编译,故需要降低jax-ws规约版本,可以这样处理:
wsdl2java -frontend jaxws21 -client *.xml