如何在没有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
我想使用下面的 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