由MyEclipse搭建一个Web Service Project实例是非常容易的,在于知道和不知道而已,完全没有技术可言。
一个Web Service Project的主要任务,就是让几个不同的组件之间能够互相操作,而这一技术的实现,又依赖于HTTP 和 SOAP协议。SOAP,Simple Object Access Protocol,简单对象访问协议。
下面介绍一种比较流行的框架--XFire,在MyEclipse的搭建。
一、环境配置 MyEclipse8.5 && JDK1.6
二、new ==>Web Service Project
1)FrameWork选择XFire
2)Next,默认;
3)Library选择,XFire 1.2 Core Libraries;
4)Finish,文件结构如下:
5)从web.xml对比普通的web项目,我们可以看到很熟悉的东西,url-pattern,看到这几个配置,心理淡定了不少。
三、用MyEclipse为Web Service Project生成对外的接口:new ==> other ==>myelcipse ==> Web Services ==> Web service
1)Strategy是java class
2)Web Service Name:
3)finish
4)修改HelloServiceImpl.java以供测试
public class HelloServiceImpl implements IHelloService { public String example(String message) { return sayHello(message); } private String sayHello(String name){ return "Hello," +name; } }
四、部署WebService
1)像部署普通web一样,部署到tomcat上去。
2)测试WebService,
3)打开Web Service Explorer之后,点击右上角一个WSDL Page的图标,Navigator里面的内容会变成WSDL Main,点击它,在右边的WSDL URL里面敲入:
http://localhost:8080/MyWebService/services/HelloService?WSDL
端口是对应的tomcat的端口,和你的webService的名称。开发过j2EE的朋友应该很容易理解,为什么要这样写地址,看一下生成的services.xml就知道了。
可以看到,现在对外的接口只有example一个。
通过浏览器访问URL,可以看到更加直观的wsdl:
五、写个Client尝试调用一下:
1)创建一个普通的java Project: new ==> java project
2)为新的project添加library。点击项目,鼠标右键,选择properties,选择左边的java build path,再点击右边的add library按钮,选择MyEclipse libraries,找到这两个文件:
3)新建一个类,调用example:
import java.net.MalformedURLException; import java.net.URL; import org.codehaus.xfire.client.Client; public class HelloInvoke { /** * @param args * @throws Exception * @throws MalformedURLException */ public static void main(String[] args) throws Exception { Client client = new Client( new URL("http://localhost:8080/MyWebService/services/HelloService?WSDL") ); //利用java的反射机制可以远程地得到已经在wsdl中声明的对象 Object[] results = client.invoke("example", new Object[]{"jacob.Ye"}); System.out.println("results[0] " + results[0]); } }
运行:
output:
/*
Hello,jacob.Ye
*/
一个简单的WebService就算是调用完毕。
经过这五个步骤,也就算是搭出一个webService了。希望可以帮助到各位