zoukankan      html  css  js  c++  java
  • 带你走进EJB--将EJB发布为Webservice(1)

              Web service是一个平台独立,松耦合基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。


            简单说Web service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。也就是我们能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Webservice 的应用程序叫做客户。


              EJB发布成WebService,在EJB容器中是很简单的事情,只要容器实现了JavaEEJAX-WS标准就即可,我们需要做的就是增加一点点有关WebService的注解,打包发布到应用容器即可。接下来我们将进一步对EJB进行深入的了解,并且掌握将EJB发布为WebService.


             服务端代码如下:

             模拟用户管理接口

     

    		/**
    		 * 用户管理接口
    		 * @author Qing
    		 *
    		 */
    		public interface UserManager {
    			public String sayHello(String name);
    		
    		}
    

     

     

              实现UserManagerEJB

     

    		package com.tgb.ejb;
    		
    		import javax.ejb.Remote;
    		import javax.ejb.Stateless;
    		import javax.jws.WebMethod;
    		import javax.jws.WebService;
    		
    		
    		@Remote
    		@Stateless
    		@WebService(name = "UserManagerWebService"
    		)
    		public class UserManagerBean implements UserManager{
    			@WebMethod
    			public String sayHello(String name) {
    				return "你好" + name;
    			}
    		
    		}
    

     

     

           服务端可以不用强制规定WebService必须实现一个接口了,而一个普通的POJO+EJB注解的类就可以当做WebService服务器类。 不过这里我们还是继续用实现接口的方式.

          

         接下来将此类打包部署到JBoss容器中并且重启JBoss,打开链接http://127.0.0.1:8080/jbossws我们将会看到下面的界面.

        

    计算机生成了可选文字:V甘e1Cometo」BOSSVVebSeFVICeS乃ossWS1宝aIAX一WScompli抓twebservicestackdevelopedtobepartof拙055Jav吐ESofferingAdministrationR~ti一einfor.压tion·yer,10。:jl,o二,,,一nati,e一3.1.2.G人Build:200905081542·VIewaIistofdeployedservices.ACCe55]MXC0n50!ePro】ectinrormationDoc.月.entation。Latestdownloadandsamples·FAQ·Usergulde.]BOSSWSWIKI。RecordsmanagementCo一~it了.Userforum·Designforum。Mailinglist50叮eerepositor萝SubversionrepositoryBFOWSeg0U陀esDnline

             点击 a list of deployed services我们能够看到所发布的WebService服务,下图就是我们刚刚通过EJB来发布的Webservice.

             

    计算机生成了可选文字:EndpointNamejboss.ws:conteXt=ejb_webservice,endpoint=UserManagerBeanEndpointAddresshttp://127.0.0.1:8080/ejb_webservice/UserManagerBean?wsdlStartTimeStopTime下hUOCt3116:40:27CST2013RequestCountResponseCountFaultCount000M旧processingTimeMaxprocessingTimeAvgprocessingTime000

     

    点击Endpoint Address后面的链接我们会看到wsdl文档,如下图.

     

    计算机生成了可选文字:This珊Lfi1edoesnot即peartohaveanystyleinfor功ationassociatedwithit.Thedoc咖enttree15sho帕below.甲<definl士工onsx几Ins二“狱tp://sche取as.x址150叩.org/wsdl/口x取Ins:50却二“http://sche址as.x讯130却.org/wsdl/50却/介x爪Ins:tns二“址tp://ejb.tgb.co耐“x取Ins:xsd="http://~.w3.org/2001/X忆Sche爪a"n柳e二“User取anagerBeansery主ce"targetN哑espace二“http://ejb.tgb.co耐“>甲<t扣es>,<xs:sche爪ax几Ins:tns二“狱tp://e〕b.tgb.co耐“x几Ins:xs二‘http://~.毋3.org/2001/XMLSche爪a"targetN视espace二“http://ejb.tgb.com/"version="1.0"><xs:ele爪entn抓e二“addUser"t扣e二“tns:addUser"/><xs:ele爪entn抓e二“addUserKesponse"t抑e二“tns:addUserResponse"/><x::ele爪entn抓e二“sayHello"t"e二“tn:::ayHello"/><xs:ele爪entn抓e二“sayHelloResponse"t"e二“tns:sayHelloRe:ponse"/>甲<xs:co呻lexT扣en观e二“addUser">,<xs:sequence><又s:ele爪ent几inoccurs二“0'n柳e二‘argo't抑e二“tns:user"/></xs:se叫ence></xs:co叩le义T"e>,<xs:co呻le装T"en抓e二“user">,<xs:se叭ence><xs:ele爪ent爪inoccurs二“0"n抓e二“address't"e二“xs:string"/><xs:ele爪entn砚e二“age"t"e二“xs:int"/><xs:ele爪entminoccurs二“0"n抓e二“n抓e"t抑e二“装s:string"/></xs:se明ence></xs:co呻lexT"e>甲<xs:co帅lexT"en观e二“addUserResponse"><xs:se职ence/></xs:co帅lexT"e>,<xs:co帅lexT"en哑e二“sayHello">甲<xs:se职ence><xs:ele爪ent爪inoccurs二柑0"n抓e二“argo"t"e二“xs:string"/></又3:se明ence></xs:co帅lexT"e>,<xs:co呻le装T"en抓e二“sayHelloResponse">,<xs:se叭ence><xs:ele爪ent址inoccurs二介0"n哑e二介return布t"e二“xs:string"/></xs:se叫ence></xs:co叩lexT"e></xs:sche爪a><八ypes>

     

     


           至此我们已经完成了将EJB发布为WebService.通过此Webservice我们可以通过客户端来进行调用并完成相关的业务逻辑.跟一般的EJB区别主要是在一个注释上:@WebService 通过此注释我们可以完成将EJB发布成WebService.

            至于如何通过客户端来调用我们已经发布好的WebService,下一篇文章将会通过客户端来调用调用已经发布好的WebService.

  • 相关阅读:
    高斯消元法求逆矩阵
    二分法
    Boost库
    sorts
    排序算法_HeapSort
    粒子系统之概述_20140101
    新年祝福!_20140101
    思维_逆向的魅力2_20131229
    思维_逆向的魅力_20131229
    编码能力的提升?_20131228
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3402590.html
Copyright © 2011-2022 走看看