WebService学习笔记系列之三----通过javax.xml.ws.Service的方式调用WebService
2013-12-19 22:03
561 查看
在上一篇《WebService学习笔记系列之二----通过wsimport的方式调用WebService》文章中讲解了通过wsimport的方式调用WebService。本文章学习使用javax.xml.ws.Service类来调用WebService。下面贴出调用的代码
在上述中的命名空间、服务名等是从哪里得到的呢?下面贴出一张图说明:
图中1为命名空间、2为限定名的本地部分 3为服务端口
需要注意的是在上述的调用WebService过程中存在一个HiService接口。Hiservice接口是怎么来的呢?其实它还是通过wsimport的方法生成处理来的。在使用wsimport方式的时候会生成一个服务接口类,在这次的调用中需要使用到它。
其实通过wsimport方式和上述的方式本质是完全一样的。wsimport就是封装过上述的调用方式。
import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import com.opertion.wsimport.HiService; /** * 使用Service类进行调用 * @author Administrator */ public class Service { public static void main(String[] args) throws MalformedURLException { //wsdl网络路径 URL url = new URL("http://localhost:8090/hi/sayHi?wsdl"); //服务描述中服务端点的限定名称 两个参数分别为 命名空间 服务名 QName qName = new QName("http://com.sc.ws", "HiService"); //创建服务对象 javax.xml.ws.Service service = javax.xml.ws.Service.create(url, qName); //获得Hiservice的实现类对象 HiService hiService = service.getPort(new QName("http://com.sc.ws","HiServicePort"),HiService.class); //调用WebService方法 System.out.println(hiService.sayHi("xiaoming")); } }
在上述中的命名空间、服务名等是从哪里得到的呢?下面贴出一张图说明:
图中1为命名空间、2为限定名的本地部分 3为服务端口
需要注意的是在上述的调用WebService过程中存在一个HiService接口。Hiservice接口是怎么来的呢?其实它还是通过wsimport的方法生成处理来的。在使用wsimport方式的时候会生成一个服务接口类,在这次的调用中需要使用到它。
其实通过wsimport方式和上述的方式本质是完全一样的。wsimport就是封装过上述的调用方式。
相关文章推荐
- WebService学习笔记系列之二----通过wsimport的方式调用WebService
- WebService学习笔记系列之一----通过JAX-WS的方式发布WebService
- 在调用别人的webservice时候,需要生成客户端调用。调用时出现javax.xml.ws.WebServiceException: Unable to create JAXBContext 这个问
- javax.xml.ws.Service 报错The constructor Service(URL, QName, WebServiceFeature[]) is undefined的解决方案
- webservice发布报错:javax.xml.ws.WebServiceException: Unable to create JAXBContext [main]
- webservice发布报错:javax.xml.ws.WebServiceException: Unable to create JAXBContext
- java调用Myeclipse通过jax-ws方式搭建的webservice
- javax.xml.ws.Service 报错The constructor Service(URL, QName, WebServiceFeature[]) is undefined的解决方案
- javax.xml.ws.Service 报错The constructor Service(URL, QName, WebServiceFeature[]) is undefined的解决方案
- 通过配置spring.xml实现通用Webservice调用
- 通过WebService调用SQLXML(SQL Server 2005)
- 关于Exception in thread "main" javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.Servic
- 使用javax.ws.rs实现Restlet开发REST方式的webservice
- javax.xml.ws.WebServiceException: WSDL Metadata not available to create the proxy, either Service in
- java自带webservice功能实现Javax.jws.WebService--JAX-WS
- [翻译]通过WebService调用SQLXML(SQL Server 2005)
- 通过客户端编程的方式调用webservice
- Resin启动Webservice客户端,调用Webservice服务报property "javax.xml.stream.supportDTD" not supported错误
- XML Web Service开发实例——通过Windows Forms调用Web Service
- XML Web Service开发实例——通过Windows Forms调用Web Service