用xfre创建webService很简单了
1.把需要的jar包复制到web项目的lib里
activation-1.1.jar
commons-codec-1.3.jar
commons-httpclient-3.0.jar
commons-logging-1.1.1.jar
jaxen-1.1-beta-9.jar
jdom-1.0.jar
log4j-1.2.15.jar
mail-1.4.jar
spring-1.2.6.jar
stax-api-1.0.1.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.0.jar
xbean-2.2.0.jar
xbean-spring-2.8.jar
xfire-all-1.2.6.jar
xml-apis-1.0.b2.jar
xmlParserAPIs-2.0.2.jar
XmlSchema-1.1.jar
2.在web.xml里添加如下配置
<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>3.写个服务接口Server.java
package com.dahafo.webService; /** * @author Zevi Qian E-mail:[email protected] * @version 创建时间:2013-5-9 下午11:09:28 * 服务接口 */ public interface Server { public String say(String name); public User getUser(User u); }实现接口 HelloServer.java
package com.dahafo.webService; /** * @author Zevi Qian E-mail:[email protected] * @version 创建时间:2013-5-9 下午11:12:06 * helloserverimpl */ public class HelloServer implements Server { /* (non-Javadoc) * @see com.dahafo.webService.Server#say(java.lang.String) */ @Override public String say(String name) { System.out.println("say方法被调用"); return "你好,"+name+"!欢迎使用webService"; } /* (non-Javadoc) * @see com.dahafo.webService.Server#getUser(com.dahafo.webService.User) */ @Override public User getUser(User u) { u.setId("new:"+u.getId()); u.setName("new:"+u.getName()); return u; } }User.java类
package com.dahafo.webService; /** * @author Zevi Qian E-mail:[email protected] * @version 创建时间:2013-5-10 上午12:15:25 * 用户 */ public class User { private String id; private String name; public User() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }@H_502_68@ 4.发布服务
在src下创建meta-inf ,在meta-inf下创建xfire ,在xfire下创建services.xml 内容如下
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xfire.codehaus.org/config/1.0"> <service> <name>service</name> <serviceClass>com.dahafo.webService.Server</serviceClass> <implementationClass>com.dahafo.webService.HelloServer</implementationClass> </service> </beans>@H_502_68@ 文件结构如下图
@H_502_68@ 在src下创建log4j的配置文件,内容自己编。
5.把web项目部署到tomcat上
写个测试类测下
@H_502_68@
package com.dahafo.webService; 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 sun.rmi.runtime.Log; /** * @author Zevi Qian E-mail:[email protected] * @version 创建时间:2013-5-9 下午11:27:45 * 类说明 */ public class TestService { /** * @param args */ public static void main(String[] args) { Service serviceModel = new ObjectServiceFactory().create(Server.class); XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire()); String url ="http://localhost:8080/xfire_webService/services/service"; try { Server s= (Server)factory.create(serviceModel,url); System.out.println(s.say("zevi")); User u=new User(); u.setName("小米"); User newu=s.getUser(u); System.out.println("new id:"+newu.getId()+";new name:"+newu.getName()); } catch (MalformedURLException e) { e.printstacktrace(); }; } }我的项目名称是xfire_webService,所以url就是http://localhost:8080/xfire_webService/services/service
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。