我在eclipse中使用 Apache CXF 在Java中创建了Web服务,现在我必须创建一个WebService客户端应用程序来使用和调用它。 我一直在寻找一种方法,我发现Client始终依赖于服务器的Java类。
问题是我必须在其他Java环境中开发客户端类。我的问题是:有没有办法开发一个独立于webservice服务器包的客户端类,只使用 WSDL 文件?
谢谢:)
答案 0 :(得分:0)
您可以将Apache CXF
Link wsdl的帮助带到java工具中。 wsdl2java
- 获取WSDL文档并生成完全带注释的Java代码,从中实现服务。
您也可以获得eclipse插件的帮助。
答案 1 :(得分:0)
您可以将请求作为XML请求发送到Web服务API。您只需要使用正确的标题和正文来构建SOAP投诉请求。通过使用SoapUI,您可以生成XML请求结构,然后在您的应用程序中重用它。
如果您使用的是Jax-RS(REST API),即使http方法也可以使用
<强> [更新] 强>
如果您不知道如何创建客户端类,那么您将遵循此
使用wsimport
> http : //hostname :port/wsdl.url on command line to create proxy classes
创建jar文件生成的代理类
下面给出了示例测试客户端。
try {
URL wsdlURL = new URL("http://localhost:8082/cxf/services/yourservice?wsdl");
QName SERVICE_NAME = new QName("http://package.name/","PORTNAme");
Service service = Service.create(wsdlURL, SERVICE_NAME);
client = service.getPort(PORTInterface.class);
client.executeYourMethod()
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
干杯 Satheesh