XFire Java SOAP框架概述
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传输协议.
一 建立Web Service Project
- 输入项目名称 wsexample 选择XFire framework
- 配置XFire servlet,这里我们就是用默认的配置
- 为了方便测试,我们将XFire 1.2 HTTP Client Libraries 也导入进来。项目建立完成。
二 创建Web Service类
- 在src下建立Web Service,New->Other->MyEclipse->Web Services->Web Service
- 输入 Web Service Name,选择放置的package,会自动生成Service接口与实现类
三 在Web Service Explorer中测试
- 将项目发布到Tomcat 点击SOAP Web Service Explorer
- 选择 WSDL Page -> WSDL Main -> 输入 WSDL URL "http://127.0.0.1:8080/wsexample/service/HelloWorldService?WSDL" -> GO
- 选择example方法
- 在in() 输入 "This is a wsexample!" -> GO
测试完成!
四 Web Service Client test
- 编写HelloWorldServiceClient
package cn.wsexample.client;
import java.net.MalformedURLException;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import cn.wsexample.webservice.IHelloWorldService;
public class HelloWorldServiceClient {
public static void main(String[] args) {
Service srvcModel = new ObjectServiceFactory().create(IHelloWorldService.class);
XFireProxyFactory factory =
new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String helloWorldURL =
"http://localhost:8080/wsexample/services/HelloWorldService";
try {
IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL);
String result = srvc.example("wsexample client test");
System.out.print(result);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
} - 运行 显示结果:wsexample client test