今天有个朋友问到webserivce的基本用法,结合互联网上的文章,我完善了一下:分为xFire和CXF两部分来演示。以前是第一部分的实施过程。请大家测试。对于CXF的,我在下一篇文章中继续介绍。
=====================================================================
MyEclipse Web Services是建立在XFire JavaSOAP框架和工具基础上的, XFire是一款开源的JavaSOAP框架。本例将给各位演示一个入门级Web Services的编写过程。
一、环境配置:MyEclipse8.0+JDK1.6
二、创建Web Service Project
1)在MyEclipse中选择File—>New—>Other,选择Web Service Project
2)项目名称:WebServiceServer,Framework:XFire,其他选项默认
3)Next,这一步保持默认值
4)Project Library选择,选择XFire 1.2 Core Libraries
5)Finish完成项目创建。
6)完成以上5步后,查看WebRoot/WEB-INF/web.xml
这里指明了当遇到/services/*请求时,将选用XFireConfigurableServlet来处理
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>XFireServlet</servlet-name> <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>XFireServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
注意把xalan.jar加到lib下
三、创建Web Service Code
1)通过File—>New—>Other—>Web Services—>Web Service wizard创建JAVA CODE
2)选择通过JAVA CLASS创建Web Service
3)创建HelloWebService.java,通过New创建com.service package,向导将为工程自动创建对应的接口类与实现类
4)修改HelloWebServiceImpl.java
package org.csdn.net; public class HelloWebServiceImpl implements IHelloWebService { public String example(String message) { return getAuthor()+","+message; } private String getAuthor(){ return "meteorWJ"; } }
四、部署并测试WebSericeServer(Tomcat6.0)
1)部署WebServiceServer
2)启动服务器
3)测试WebService
MyEclipse提供了一个Web Service Explorer来测试Web Service
4)选择WSDL模式(在SOAP浏览器的右侧)
5)在Explorer中选择WSDL Main,在右边的URL中输入
http://localhost:8089/WebServiceServer/services/HelloWebService?WSDL,单击"Go"
其中8080是服务器端口号,我用的是tomcat,tomcat用的是8080.services在web.xml中指定的
若在Status中显示成功打开WSDL文件则测试成功
也可以在浏览器中输入
http://localhost:8089/WebServiceServer/services
五、创建WebService客户端
经过以上几步,我们已经成功发布了一个WebService,现在需要创建一个客户端来调用该服务
1)创建Java Project:WebServiceClient(这是project名称,不是选项,当初看成选项,郁闷半天也没有找到此选项)
2)引入MyEclipse Libraries
右键WebServiceClient—>Build Path—>Add Libraries
选择XFire 1.2 HTTP Client Libraries
3)创建HelloWebService.java
在src目录下创建com.client.HelloWebService.java
package com.client;
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class HelloWebService {
public static void main(String[] args) throws Exception
{
Client client = new Client(new URL("http://localhost:9089/WebServiceServer/services/HelloWebService?wsdl"));
Object[] results = client.invoke("example", new Object[] {"hello"});
System.out.println((String) results[0]);
}
}
4)在确认服务器启动的情况下,运行HelloWebService.java
右键点击Run As>Java Application,在控制台中看到输出结果。
==========================================================
此例并非个人原创,欢迎大家板砖。