创建WebService
? ? ???? XFire Java SOAP框架概述 (摘自:http://tech.it168.com/j/e/2006-10-28/200610281432707.shtml ) ? ??? MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的,XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在Web Services下的简单API,支持POJO和schema开发. XFire支持 Web Services standards,Spring 整合,支持JBI,支持 JAXB,XMLBeans,Java 5 和JAX-WS.并支持HTTP,JMS,XMPP,In-memory传输协议 ? 一、环境配置:MyEclipse7.0 ???????????????????? JDK1.6 二、创建Web Service Project ????? 1)在MyEclipse中选择File—>New—>Other,选择Web Service Project? ????? 2)Project Name:WebServiceServer,Framework:XFire,其他选项默认 ????? 3)Next,这一步保持默认值 ???? 4)Project Library选择,选择XFire 1.2? Core Libraries ???? 5)Finish,创建成功后看到的工程目录如下: ???? 6)完成以上5步后,查看WebRoot/WEB-INF/web.xml ???????? 这里指明了当遇到/services/*请求时,将选用XFireConfigurableServlet来处理??? ? ? 三、创建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,向导将为工程自动创建对应的接口类与实现类 ? ? ? ???? 创建成功后查看WebServices/services.xml,发现配置文件多了以下内容: ? ? ? ??? 4)修改HelloWebServiceImpl.java ? ??? package com.service; ??? //Generated by meteorWJ ? ?? public class HelloWebServiceImpl implements IHelloWebService { ??? ???? public String example(String message) { ??????? return getAuthor()+","+message; ???? } ???? private String getAuthor(){ ??????? return "meteorWJ"; ???? } ??? ?? } ? 四、部署并测试WebSericeServer ??? 1)部署WebServiceServer ? ? ??? 在部署向导中选择项目、服务器 ? ? ? ??? 2)启动服务器 ? ?? 3)测试WebService ?? MyEclipse提供了一个Web Service Explorer来测试Web Service ? ?选择列表中的Launch SOAP Web Services Explorer ?? 4)选择WSDL模式 ? ? ?? 5)在Explorer中选择WSDL Main,在右边的URL中输入 ? ?? http://locahost:9090/WebServiceServer/services/HelloWebService?WSDL,单击"Go" ?? 其中9090是服务器端口号,services在之前的web.xml中指定 ?? 若在Status中显示成功打开WSDL文件则测试成功? 五、创建WebService客户端 经过以上几步,我们已经成功发布了一个WebService,现在需要创建一个客户端来调用该服务 ? 1)创建Java Project:WebServiceClient ? 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:9090/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,在控制台中看到如下输出 ? ? 截图如下: ? 下一步 ? 下一步
Finish
在WebServices/services.xml实际上是接口和实现类,可以自己写java类,也可以自动生成,如: 新建一个Web Service
下一步:关联到前面建的项目HelloWorld
下一步:接口名HelloWorldService,默认的接口为IhelloWorldService,实现类为HelloWorldServiceImpl
完成后如下:
WebServices/services.xml自动生成为: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> ??? <service> ?????? <name>HelloWorldService</name> ?????? <serviceClass>com.service.IHelloWorldService</serviceClass> ?????? <implementationClass> ?????????? com.service.HelloWorldServiceImpl ?????? </implementationClass> ?????? <style>wrapped</style> ?????? <use>literal</use> ?????? <scope>application</scope> ??? </service> </beans> ? ? 访问地址: http://192.168.72.8:8888/HelloWrold/services/HelloWebService?wsdl
? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |