2011-10-12 124 views
6

我有SOAP服务器正在运行。我需要为服务器编写一个SOAP客户端。你可以请在Eclipse中建议插件或给我与此相关的网址?如何创建soap客户端?

可以请你给我提供它,你有什么样SOAP客户端代码?

我的SOAP客户端应使用复杂的对象作为其在SOAP服务器公开的SOAP功能parmeter /参数。

+0

你应该对你想要做的更具体一点。哪种语言 ?你试过什么了 ? – fyr

+0

嗨thanx为您的快速回复我想在java中创建它的解决方案之一可能是导入org.apache.axis.client我不知道它是否适合,但某种这可能会帮助我创建它 –

回答

3

你的问题很模糊,所以使用Apache CXF,并按照本教程:

  1. 这是最近(2011年)新手必看:Creating a SOAP client with either Apache CXF or GlassFish Metro
  2. How to create a WSDL-first SOAP client in Java with CXF and Maven
  3. This demo illustrates Apache CXF's support for SOAP headers

其他明智的,你也可以使用Apache AXIS2。

+0

关于[Apache CXF常见问题解答](http://cxf.apache.org/faq.html#FAQ-CanCXFrunwithJDK1.7%3F)它表示关于Java 7支持的“TBD”。 – Eyal

0

那几乎有点宽泛的问题。从我的角度来看,我会建议使用Apache CXF:http://cxf.apache.org/

有很好的示例,您可以定义一个WSDL并生成服务器以及客户端代码。还有一些maven插件会自动为你做这个JOB。嵌入由WSDL描述的现有Web服务也是可能的。

不过,无论这更是要求和口味的问题。

替代可以例如发现在这里:http://java-source.net/open-source/web-services-tools

1

更新你的日食到最新的版本(我已经看到它与Eclipse欧罗巴3.3.2也工作:))。转到新项目向导,并在网络服务选择网络服务客户端,点击下一步,然后给你的网络服务的wsdl文件位置。 Eclipse将自动为您生成Web服务存根。

3

假设的Java:

1.-执行:

wsimport -keep -p myClient url_to_wsdl 

凡myClient将与生成的客户端的伪影的文件夹。 url_to_wsdl URL到你的WSDL。

2.-创建具有用下面的代码的方法的客户端类:

YourServiceClass service = new YourServiceClass(); 
    YourEndpointClass port = service.getPort(); 
    YourRequestClass request = new YourRequestClass(); 
    YourMessageClass message = new YourMessageClass(); //In case you have it 
    message.setParam1(param1); //depending on your message 
    message.setParam2(param2); 

    request.setMessage(message); 
    YourResponseClass response = port.ServiceOperation(request); //This call locks execution 

    System.out.println(response.getMessage().getResponse()); 
  • YourServiceClass是生成的构件的延伸javax.xml.ws.Service。

  • YourEndpointClass可以在YourServiceClass中的超级调用操作中看到。的getPort();

  • YourRequestClassYourResponseClass将取决于如何管理的请求和响应消息。

  • YourMessageClass将是您的消息的包装类(取决于WSDL)。必须已经由wsimport生成并导入到您的客户端类

所有你*类。 随着国旗-keepwsimport您将能够看到.java文件,并确定您需要哪些类来完成此代码。