如何在没有soap webService接口的情况下使用javax.xml.ws

How to use javax.xml.ws without interface of soap webService

我想使用下面的 SOAP 网络服务 URL:

http://ws.armaghan.net:8080/ws-relay/MessageRelayService?wsdl

根据 post 在 How to do a call through a javax.xml.ws.Service 我开发了以下代码:

URL url= new URL("http://ws.armaghan.net:8080/ws-relay/MessageRelayService?wsdl");


QName qname= new QName("http://webservice.smsrelay.armaghan.net/","MessageRelayService");


Service service = Service.create(url, qname);

但下一步我不知道如何使用 service.getPort(Claas arg0),因为我没有 SOAP Web 服务的接口。我只有上面的URL。

顺便问一下,我的问题是如何使用网络服务?

谢谢,

您应该使用一种工具来生成界面和客户端。我通常将 wsdl 文件保存到我的 java 项目并使用 ide 从 wsdl 文件生成源代码。

然后你可以选择你喜欢的框架。轴、cxf、ws 或任何你想要的。

您还可以使用命令行工具,例如

http://www.mkyong.com/webservices/jax-ws/jax-ws-wsimport-tool-example/

首先您需要通过 WSIMPORT 或类似工具为 Web 服务生成客户端。

之后生成的客户端工件应该与您的客户端代码集成以调用 Web 服务操作。可以参考下面的博客post,里面的步骤很清楚

http://chathurangat.blogspot.com/2013/09/how-to-generate-jax-ws-client-and.html