快速业务通道

J2EE 1.4平台和Web服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
ublic interface EchoService extends Remote {    /**    *返回用户提供的信息。    */    public String echo (String name) throws RemoteException; }

实现Web服务

在实现服务时,有三个工作需要做:

1、选择一种具体的服务端点实现,也就是使用Servlet作为服务端点还是使用无状态会话Bean作为服务端点。

2、实现在服务接口中定义的业务逻辑,在这个阶段,可以使用一些工具生成Web服务运行时需要的框架,如使用axis中的WSDL2Java,Sun提供的wscompile等。

3、创建部署描述符,在部署描述符中指定具体的endpoint的实现。

如果使用Servlet作为服务端点,那么实现类代码看起来应该如例程2所示。

例程2 Servlet作为服务端点

public class EchoServlet implements EchoService { public String echo (String name) {       //业务逻辑具体实现。   return "Hello:"+name; } }

如果使用无状态会话Bean作为服务端点,那么实现类代码看起来应该如例程3所示。

例程3 使用无状态会话Bean作为服务端点

public class EchoBean implements javax.ejb.SessionBean { public String echo (String name) {   //业务逻辑具体实现。   return "Hello:"+name; } ...//其它EJB方法。 }

J2EE 1.4平台和Web服务(8)

时间:2011-02-08 IBM 陈亚强

在实现了Web服务后,对于EJB组件,需要在EJB部署描述符中指定它的服务端点接口,如例程4所示。

例程4 编写和组件相关的部署描述符

<session>     <display-name>EchoServiceEJB</display-name>     <ejb-name>EchoServiceEJB</ejb-name>     <service-endpoint>com.hellking.webservice.EchoService</service-endpoint>     <ejb-class>com.hellking.webservice.EchoServiceBean</ejb-class>     <session-type>Stateless</session-type>     <transaction-type>Container</transaction-type> </session>

可以看出,使用无状态会话Bean作为Web服务端点,可以不开发HOME接口和Remote(Locale)接口,只需要指定服务端点接口。

创建可部署的包

接下来的任务就是创建可以部署的包,Web services for J2EE规定了打包的法则,在打包后的应用中可能包含以下的内容:

Web服务部署描述,指定了Web服务的运行特性,描述文件为webservices.xml,它是J2EE平台中Web服务的标准描述,就像EJB中的ejb-jar.xml描述符一样;

WSDL描述,用于描述Web服务;

到其它J2EE组件的引用,比如那个组件实现了这个Web服务;

J2EE组件的标准描述。

webservices.xml部分部署描述符如例程5所示。

例程5 webservices.xml部分部署描述符

<!DOCTYPE webservices PUBLIC "-//IBM Corporation, Inc.//DTD J2EE Web services 1.0//EN" "http://www.ibm.com/standards/xml/webservices/j2ee/j2ee_web_services_1_0.dtd"> <webservices>   <description>desc</description>   <webservice-description>    <webservice-description-name>EchoServiceEJB</webservice-description-name>    <wsdl-file>META-INF/MyEchoService.wsdl</wsdl-file>    <jaxrpc-mapping-file>META-INF/mapping.xml</jaxrpc-mapping-file>    <port-component>     <description>port component description</description>     <port-component-name>EchoServicePort</port-component-name>     <wsdl-port>      <namespaceURI>urn:Echo</n

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号