带你走进EJB--将EJB发布为Webservice(2)

         在企业级的应用程序中经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。

         简单的一个例子:应用程序经常需要从运行在A主机上的程序中获取数据;或者把数据发送到主机或B应用程序中去。

         即使在同一个平台上,不同软件厂商生产的各种软件也常常需要集成起来。通过WebService,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用。

        在上篇文章中我们已经将EJB发布为WebService,这也就是意味着其他厂商,的软件和平台能够调用EJB下的业务逻辑.接下来我们将通过eclipse来建立一个java客户端.

 

通过Eclipse来默认创建Web Service Client,如下图:

         

计算机生成了可选文字:瀚NeW一口.日-SeledaWIZardAcce,,anexi,tingXMLwebserviceWizards:阮e丽e藻石[>臼UserAssistance公Web日臼WebServices舶Antriles夕CreateasampleREsTfulwebservice夕Createasamplewebservicejsimplewebservi〔e:***unitTestuooljwebservice.二WebserviceClientJWSDLFile〔岛」AX一WS六⑦<BackFinis卜巨Cancel―阅口口口口口口困月口

 

        之后根据提示输入WSDL文档的URL位置,如下图所示      

             

计算机生成了可选文字:爸与VebSelVICSSSelectaservicegeneration.WebSeFVICeClientde6nitionandmovet卜eslldertos鱿thelevelofclientsery.oedeonition:卜ttp:万,27·0·o·,:8080/ejb一eb、ery‘。e/U,erManager,同。rowse…CIientfype:Javapro叮丫一Deployclien七Con右guration:Serverruntime:JBossv5.0Web'erviceruntime:JBo"WS创困p时鱼闽b业丛坦业ClientEARproject:司bwebserviceEAR"窗匀自口MonitortheWeb、ervi。e回Overwrite6le,withoutwarning⑦<BackNext>FinishCancel

建立相关的客户端包文件.

计算机生成了可选文字:国WebSeFVICeC!ientJBossWebServiceCodeGener以ionConfigur以ionpIeaseinputt卜eappropriateoptionfort卜ecodegenerationWSDLServiceSourceFolderPackagenameJAX一WSspeci6cationcatalog石leBinding6lesUserManagerBeanservic爵UserManagerwebserviceport\ejb一eb,ervice\ejbModuleBr0WSe…2.0AddAddEnablebindingextensionsupport(onlyavailableforJBossWS3.0orlater)Additionaloptions<Back⑦一

 

之后会生成相关的代码

计算机生成了可选文字:objectFactory.javapackage一info.jav司SayHellojavaSayHelloResponse.javaUser.javaUserManagerBeanservice.javaUserManagerwebservice.javawebserviceClient.java一国匡国国国画国涵卜护入F入犷卜护卜护入护入护卜犷

 

      其中UserManagerBeanService是需要客户端关注的类,客户端调用这个类的方法就能调到服务器端的代码。客户端程序如下

 

 

客户端代码如下:

 

 

 

	package ejb_webservice_client;
	
	import ejb_webservice_client.*;
	
	public class WebServiceClient {
	
		public static void main(String[] args) {
		        System.out.println("***********************");
		        System.out.println("Create Web Service Client...");
		        UserManagerBeanService userManagerService = new UserManagerBeanService();
		        System.out.println("Create Web Service...");
		        UserManagerWebService user = userManagerService.getUserManagerWebServicePort();
		        System.out.println("Call Web Service Operation...");
		        System.out.println("Server said: port1.addUser() is a void method!");
		        System.out.println("Server said: " + user.sayHello("jnqqls"));
		        System.out.println("***********************");
		        System.out.println("Call Over!");
		}
	}

 

 

    通过上面的步骤我们已经完成了客户端调用EJB所发布的WebService,但是用JBoss5作为EJB容器的时候,调用Web服务出现了异常.下面文章将会出现的异常进行了解.

 

 

      


posted on 2013-11-01 19:08  新一  阅读(358)  评论(0编辑  收藏  举报

导航