最近这一周一直在做webservice。用xfire和spring结合做的。开始遇见很多问题。这里得谢谢阿敏司令给的一些提示。在这里给出一个demo主要是客户端传pojo里面在封装list这样的大对像。部署spring和xfire的环境是很简单的 修改web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/xfire-servlet.xml
</param-value>
</context-param>
<servlet>
<servlet-name>xfire</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>xfire</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
增加xfire-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<import resource="classpath:org/codehaus/xfire/spring/xfire.xml"/>
<import resource="applicationContext.xml"/>
<bean
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="urlMap">
<map>
<!-- 配置 service 名称和 Service Bean -->
<!-- -->
<entry key="/UserService.ws">
<ref bean="userService" />
</entry>
</map>
</property>
</bean>
<bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
<property name="serviceFactory" >
<ref bean="xfire.serviceFactory"/>
</property>
<property name="xfire" >
<ref bean="xfire"/>
</property>
</bean>
<!-- 测试用的-->
<bean id="userService" parent="baseWebService">
<property name="serviceBean" >
<ref bean="userbean"/>
</property>
<property name="serviceClass" >
<value>test.service.Userservice</value>
</property>
</bean>
</beans>
配置applicationcontext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans >
<!-- -->
<bean id="userbean" class="test.service.imp.UserserviceImp"></bean>
</beans>
配置client.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- anthor zhangkt -->
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans >
<!-- 获取用户信息的例子 测试 -->
<bean id="testUserWebService" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean" lazy-init="true">
<property name="serviceClass">
<value>test.service.Userservice</value>
</property>
<property name="wsdlDocumentUrl">
<value>http://127.0.0.1:8080/Test/services/UserService.ws?wsdl</value>
</property>
</bean>
</beans>
java文件
package test;
import java.util.List;
public class UserList implements java.io.Serializable{
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
private List <User> u;
public List<User> getU() {
return u;
}
public void setU(List<User> u) {
this.u = u;
}
}
package test;
public class User {
private String age;
private String longName;
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getLongName() {
return longName;
}
public void setLongName(String longName) {
this.longName = longName;
}
}
package test.service;
import java.util.List;
import test.UserList;
import test.User;
public interface Userservice {
public String createUser(UserList userList);
public String getLi();
public void ListUser(UserList u);
}
package test.service.imp;
import test.service.Userservice;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import test.User;
import test.UserList;
public class UserserviceImp implements Userservice{
public String createUser(UserList userList) {
User user=userList.getUser();
System.out.println(user.getLongName());
return "1";
}
public String getLi( ) {
// TODO Auto-generated method stub
return "12";
}
public void ListUser(UserList u) {
// TODO Auto-generated method stub
List <User> li=u.getU();
for(User user:li){
System.out.println(user.getLongName());
}
}
}
主要注意序列化和jdk1.5的特性。1.4的还没去研究
分享到:
相关推荐
用XFire开发WebService Spring注解
在MyEclipse中使用XFire开发WebService WebService开发
使用xfire开发webservice的客户端需要的完整jar包,直接导入开放就可以用了。使用Xfire构建JAVA的webService全过程(从服务端到客户端)
在Eclipse上使用XFire开发WebService.doc
xfire实现webservice实例,XFire WebService开发快速起步
Myeclipse6.5下使用XFire开发WebService的完整入门例子 保你学会
在Eclipse上使用XFire开发WebService.pdf
一本很好关于xfire开发webservice的电子书,实例非常清晰实用!
MyEclipse下XFire开发Webservice实例.doc 基于XFire开发Webservice实例。
提供xfire开发webservice接口的详细说明文档;同时给出通过xfire框架开发webservice服务端依赖的jar包。非常适合新手入门~
NULL 博文链接:https://dongisland.iteye.com/blog/1454099
xfire开发webservice以及Android利用ksoap2访问webservice。包括源码和jar包
XFireWebService工程代码(不包含xfire相关jar包), 博文链接:https://sailinglxg.iteye.com/blog/173679
spring+xfire( 编写webservice完整配置+案例)
多的不说,就是xfire构建WebService例子,分为服务端和客户端
xfire开发webservice与调用 用起来比axis简单,容易上手。没有axis那么复杂。性能也比axis好。附件里面包含教程文档及实例代码
xfire开发webservice文档.pdf
XFire-WebService 开发基础教程 有图有真相 XFire-WebService 开发基础教程XFire-WebService 开发基础教程
myeclipse xfire 开发webservice实例
Xfire开发webservice与javaweb集成实例服务端发布、 客户端调用实例源码