在Java中创建一个SOAP Web服务客户端应用程序

问题描述 投票:0回答:2

我已经在Eclipse中使用Apache CXF在Java中的web服务创建的,现在我要创建一个WebService客户端应用程序消耗并调用它。我一直在寻找一种方式来做到这一点,而且我发现,客户总是依赖于服务器的Java类。

问题是,我必须开发在其他Java环境中的客户端类。我的问题是:是否有发展,这将是独立的web服务服务器的包的客户端类的方式,只使用WSDL文件?

谢谢 :)

java web-services soap client cxf
2个回答
0
投票

你可以把Apache CXF Link WSDL到Java的工具的帮助。 wsdl2java - 需要一个WSDL文档,生成从中实现服务完全注释的Java代码。

你可以把Eclipse插件的帮助也。

Eclipse plugin to generate java class


0
投票

您可以发送请求的Web服务API为XML请求。你唯一需要constuct适当标题和正文SOAP投诉请求。通过使用了SoapUI您可以生成XML请求结构,然后在您的应用程序重复使用。

如果您使用的JAX-RS(REST API)的,即使HTTP方法也适用

[更新]

如果你被卡住了如何创建客户端类,那么你就按照这个

  1. 使用的wsimport > http : //hostname :port/wsdl.url on command line to create proxy classes
  2. 创建JAR文件生成代理类
  3. jar文件添加到类路径
  4. 使用服务API来构建终点,然后调用服务。
  5. 样品测试客户端如下。 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(); }

  1. 网址是WSDL URL
  2. 要创建的QName,需要提供的服务接口的命名空间(包翻领名称,通常情况下)和端口名称,你可以找到在WSDL中绑定部分。
  3. 还需要确定代理类(名称将类似于端口名称)

椅子sathisa

© www.soinside.com 2019 - 2024. All rights reserved.