扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:gaolin_bei 来源:CSDN 2008年2月27日
关键字: java JAX-WS 2.0 实践
在本页阅读全文(共6页)
然后下载例子的代码包并且解压。根文件夹是jaxws-techtip。
endpoint\ 目录下有一个文件Calculator.java
client\ 目录下有一个文件JAXWSClient.java
二.编写构建服务端
随着第一步环境配置的完全,现在该开始构建一个web服务了。在这个例子里,web服务是从一个Java类来开发的。为了构建这个web服务:
1. 写一个端点实现类(endpoint implementation class)。
2. 编绎这个端点实现类。
3. 有选择的产生对web服务的运行必须具备的那些可移植的制品。
4. 把web服务打包成一个WAR文件并且在App Server中部署它。
1 编写实现类.
进到endpoint\
目录下,可以看到里面有一个文件Calculator.java.它是一个端点实现类,具备有对两个整数进行相加的简单服务。
JAX-WS 2.0大量地依赖注释(annotations)的使用,它是A Metadata Facility for the Java Programming Language (JSR 175)描述的规范和Web Services Metadata for the Java Platform (JSR 181)描述的规范。
研究上面的实现类Calculator
,注意到类里的两个注释的使用@WebService
跟@WebMethod。一个正确的端点实现类必须包含有一个@WebService注释。这个注释标注这个类将作为一个web服务对外开放。@WebService的name属性表明了web服务描述语言(WSDL)里的端口类型(
portType)(在这个例子里是”Calculator”)。而
serviceName="CalculatorService"对应的是一个WSDL里的服务元素(service)。targetNamespace属性为WSDL说明了XML的命名空间。所有的这些属性都是可选的。对于这些属性的默认值是什么,请参考Web Services Metadata for the Java Platform规范,JSR 181。
再来看看另外一个重要的注释@WebMethod,被它注释过的方法说明将它以一个WEB服务的方法暴露出来,被其他应用来调用。@WebMethod注释里的operationName声明了WSDL里的一个元素WSDL operation(在这个例子里,”add”),另外一个属性action =("urn:Add"),它为WSDL还有一些从这个web服务操作(web service operation)生成的元素声明了一个命名空间。这两个属性都是可选的。如果你没有列出来的话,WSDL操作(operation)的值将会默认为方法名,还有action值也会默认为服务的targetNamespace。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者