我想使用带有以下网址的SOAP网络服务:
http://ws.armaghan.net:8080/ws-relay/MessageRelayService?wsdl
根据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。
顺便问一下,我的问题是如何使用网络服务?
谢谢,
答案 0 :(得分:1)
首先,您需要通过 WSIMPORT 或类似工具为Web服务生成客户端。
之后,生成的客户端工件应与客户端代码集成以调用Web服务操作。您可以参考以下博客文章,逐步明确步骤。
http://chathurangat.blogspot.com/2013/09/how-to-generate-jax-ws-client-and.html
答案 1 :(得分:0)
您应该使用工具来生成接口和客户端。我通常将wsdl文件保存到我的java项目中,并使用ide从wsdl文件生成源代码。
然后您可以选择您喜欢的框架。 Axis,cxf,ws或你想要的。
您也可以使用命令行工具,例如此
http://www.mkyong.com/webservices/jax-ws/jax-ws-wsimport-tool-example/