加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 00:02:18 所属栏目:安全 来源:网络整理
导读:? ? ? ? ? 在企业级的应用程序中经常都要把用不同语言写成的、在不同平台上运行的各种程序集成起来,而这种集成将花费很大的开发力量。 ????????? 简单的一个例子 : 应用程序经常需要从运行在 A 主机上的程序中获取数据;或者把数据发送到主机或 B 应用程序

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

?????????简单的一个例子:应用程序经常需要从运行在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爵UserManagerwebserviceportejb一eb,erviceejbModuleBr0WSe…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服务出现了异常.下面文章将会出现的异常进行了解.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读