Web Service 入门Demo
一、Myeclipse 中Xfire 插件的安装因为本文使用的是Myeclipse6.6+Xfire 来开发webservice和webclient .所以讲讲如何安装Xfire 插件。
1. Xfire 插件安装步骤
1.1 Myeclipse 菜单栏:help —— Software Update ——Find and Install.
1.2在弹出对话框中,选中”search for new features to install”,然后点击Next.
1.3点击”New remote Site”,将弹出”New Update Site”窗口,在Name 、和URL中分别输入插件名称和更新的网络地址。其中:Name 可以自定义,URL输入http://dist.codehaus.org/xfire/update/
输入完毕后,依次点击”OK” , ”Finish”即可。
二、Myeclipse 集成 XFire 搭建Web Service,并构建一个客户端去访问
2.1 建立一个Web Service Project工程:
2.1.1 右击项目列表窗口,”New”——“Web Service Project”
2.1.2 输入项目名称,并选择相应的jdk 版本,然后点击”Next”。
2.1.3 这一步,默认即可,点击”Next”
2.1.4 选中”XFire 1.2 Core Libraries”,一般是默认选中的,所以直接点击”Finish”
2.1.5 创建成功后的工程目录如下:
2.1.6 查看WebRoot/WEB-INF/web.xml
这里指明了当遇到/services/*请求时,将会交由XFireConfigurableServlet来处理。
2.2 创建Web Service 服务端
2.2.1选中项目名称,右击”New”——“Other”,在弹出的对话框中选择”MyEclipse”——“Web Services”——“Web service”,然后点击”Next”。
2.2.2 在弹出的对话框中选中”Create Web service from Java bean”,并勾选”Create New Java bean”。
2.2.3 输入服务名,并可以新建或指定类的位置,然后点击”Finish”,创建成功。
2.2.4 在创建成功后,在我们指定或新建的包的目录下会自动生成一个接口类(IMyService1) 和一个该接口的实现类(MyService1Impl)。并且在WebServices 文件夹下自动生成services.xml,这个xml 的含义是:对发布的web 服务接口的描述。
2.2.5 将创建的web Service部署到tomcat中,右击项目”Run As”——“MyEclipse server Application”,在弹出的对话框中选择你要使用的Tomcat,选中点击”OK”后就直接部署启动了。
2.2.6 启动Tomcat服务器后,在浏览器中输入地址:
http://localhost:8080/MyWebService1/services访问后,列出所有可以得到的服务方法和相应的wsdl。如下图:
点击 [wsdl] 超链接,则可以打开对应的wsdl 文件。
或者我们也可以直接在浏览器中输入地址:
http://localhost:8080/MyWebService1/services/MyService1?wsdl
(服务器名称:端口号/项目名称/services/服务名称),则可以直接看到自动生成的wsdl文件。
至此,我们就把web service 的服务器端搭建并启动完毕了,接下来我们创建一个客户端来调用该服务。
2.3创建Web Service 客户端
创建Web Service 客户端时,我们可以创建Java Project项目或者直接创建一个Java类。这里我们就简单新建个Java类来作为客户端,这个Java类可以在任意的工程中。
2.3.1 引入MyEclipse Libraries —— HTTP Client Libraries:
选中项目,右击”Properties”,在弹出的对话框中”Java Build Path”——“Libraries”——“Add Library”
在弹出的对话框中,选中”MyEclipse Libraries”,然后点击”Next”。
在弹出的对话框中勾选上”XFire 1.2 HTTP Client Libraries”,然后点击”Finish”,完成jar的引入。
2.3.2 创建客户端类
选中项目新建一个Java类:MyClient1.java
客户端类——MyClient.java 代码如下:
package com.client;
import java.net.MalformedURLException;
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class MyClient {
public static void main(String[] args) throws MalformedURLException,
Exception {
Client c = new Client(new URL(
"http://localhost:8080/MyWebService1/services/MyService1?wsdl")); // 这个会跟相应的wsdl秒速构想出相应的客户端
Object[] result = c.invoke("example", new Object[] { "lsxy" });// 这边调用wsdl
// 描述中的example方法,同时传递参数"lsxy"
Object[] result2 = c.invoke("sayHello", new Object[] { "dear lsxy" });// 这边调用wsdl
// 描述中的example方法,同时传递参数"lsxy"
System.out.println(result[0]);
System.out.println(result2[0]);
}
}
2.3.4 测试
先贴出修改后的服务端类:
服务端接口类:MyService1.java
package com.server;
//Generated by MyEclipse
public interface IMyService1 {
public String example(String message);
public String sayHello(String message);
}
服务端接口类的实现类:MyService1Impl.java
package com.server;
//Generated by MyEclipse
public class MyService1Impl implements IMyService1 {
public String example(String message) {
return message;
}
public String sayHello(String name) {
return "Hello " + name;
}
}
在保证服务端正常启动后,右击该客户端类MyClient1.java,”Run As”——“Java Application”,控制台输出打印结果:
OK , Web Service 入门Demo is End !
本来有很多图片的,但可以CSDN上传图片太麻烦了就都是些文件描述,有兴趣的朋友可以去我的资源里面下载“Web Service 入门Demo ”