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

时间:2015-02-07 08:06:52

标签: java xml web-services soap wsdl

我想使用带有以下网址的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。

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

谢谢,

2 个答案:

答案 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/