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

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

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

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

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

 

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

         

带你走进EJB--将EJB发布为Webservice(2)_第1张图片

 

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

             

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

带你走进EJB--将EJB发布为Webservice(2)_第2张图片

 

之后会生成相关的代码

带你走进EJB--将EJB发布为Webservice(2)_第3张图片

 

      其中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服务出现了异常.下面文章将会出现的异常进行了解.

 

 

      


你可能感兴趣的:(带你走进EJB--将EJB发布为Webservice(2))