【发布WebSerivce】
本部分将使用Web Services Project wizard来创建和配置一个新的Web Service Projects Web Service Wizard将完成下列的动作:
1) 创建MyEclipse J2EE Web Project
2) 在工程中的web.xml文件中配置XFire Servlet ;如图00:
3) 创建services.xml配置文件
访问过程的本质:
1) 用Web.xml中配置的XfireServlet来捕获Soap请求中所有“/Services/*”
2) XFireServlet的实现类所完成的工作:找到该Project中的Services.xml文件中找到所请求WebService的接口和实现类;
3) 得到生成的WSDL(也是XFireFrameWork自动帮我们生成的),并解析它;
流程:
1. 建立一个WebServiceProject;
1) 选“XFire”,“Create WebService fromJavaBean”,“Create new JavaBean”;(作用:在service.xml中加入<Bean>)如图03:
2) 导入包;如果需要把Client端建在同一个项目中则需要把http.client.Libraries.jar引进进来;
2. 建立一个WebService;如图02:
填入ServiceName;XXX后,会自动产生接口(IXXXService)和实现类(XXXServiceImpl);如图04:
3. 发布一个WebService;
启动Tomcat部署该WebService;
说明:
1. Http:localhost:8080/ProjectName/services/ServiceName?WSDL;
2. 完成的功能:
接口:需要完成的功能,只要 给出方法名即可,连后面的{}都没有;
实现类:实现这些接口;
【访问WebService】
1. 使用Web Services Explorer来测试部署的Web Services ;
1) 在MyEclipse perspective中选择toolbar button来执行Web Service Explorer,如图05:
2) 选择WSDL模式,如图06:
3) 在活动面板中键入WebServiceName WSDL URL :http://localhost:8080/ProjectName/services/WebServiceName?WSDL。WebService Explorer将下载自动产生的WSDL文档,该WSDL文档由XFire framework,并产生一系列的操作能够调用service。
2. 建立Client;可以建立在一个WebServiceProject中,也可以建立一个其他的工程(只要导入架包即可),还可以建立客户端形式的;本实例中采用在同一个工程中以控制台的形式来实现输入输出的,具体流程:
1) 增加XFire Http Client Libraries架包;
2) 建一个类,在其中写一个main()方法(因为该例子是采用控制台的形式),还没有尝试过使用MyEclipse建WebServiceClient的Wizard的还建一个Client。如图:
【WebService本质】
1. Server端:
Step1:XFire为WebService生成WSDL文档;
Step2:在Web.xml文件中配置一下XFire中截获、解析消息的Servlet,该Servlet还负责以Soap消息的形式来返回调用;
2. Client端:
Step1:将接口抓到本地,可以像在本地掉函数一样调用;
Step2:XFire也是负责解析、截获Soap消息;