用的是 xfire 自己做了一个简单的示例所有的jaractivation-1.1.jarbcprov-jdk15-133.jarcommons-attributes-api-2.1.jarcommons-beanutils-1.7.0.jarcommons-codec-1.3.jarcommons-discovery-0.2.jarcommons-httpclient-3.0.jarcommons-logging-1.0.4.jarjackson-annotations-2.3.0.jarjackson-core-2.3.0.jarjackson-databind-2.3.0.jarjaxb-api-2.0.jarjaxb-impl-2.0.1.jarjaxb-xjc-2.0.1.jarjaxen-1.1-beta-9.jarjaxws-api-2.0.jarjdom-1.0.jarjsf-api.jarjsf-impl.jarjsr173_api-1.0.jarjstl-1.2.jarmail-1.4.jaropensaml-1.0.1.jarsaaj-api-1.3.jarsaaj-impl-1.3.jarspring-1.2.6.jarstax-api-1.0.1.jarwsdl4j-1.6.1.jarwss4j-1.5.1.jarwstx-asl-3.2.0.jarxbean-2.2.0.jarxbean-spring-2.8.jarxfire-aegis-1.2.6.jarxfire-annotations-1.2.6.jarxfire-core-1.2.6.jarxfire-generator-1.2.6.jarxfire-java5-1.2.6.jarxfire-jaxb2-1.2.6.jarxfire-jaxws-1.2.6.jarxfire-jsr181-api-1.0-M1.jarxfire-spring-1.2.6.jarxfire-ws-security-1.2.6.jarxfire-xmlbeans-1.2.6.jarXmlSchema-1.1.jarxmlsec-1.3.0.jar配置web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><!-- 配置service --><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><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>创建一个和webRoot 同级的文件夹services/service.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>CurrentService</name>
<namespace>www.julongtech.com.cn/CurrentService</namespace>
<serviceClass>com.julongtech.webservice.CurrentService</serviceClass>
<implementationClass>
com.julongtech.webservice.impl.CurrentServiceImpl
</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
<service>
<name>UserService</name>
<namespace>www.julongtech.com.cn/UserService</namespace>
<serviceClass>com.julongtech.webservice.UserService</serviceClass>
<implementationClass>
com.julongtech.webservice.impl.UserServiceImpl
</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
</beans>
自己配置了两个 测试的时候可以选择一个userinfo实体类
package com.julongtech.entity;import java.io.Serializable;public class UserInfo implements Serializable{/****/private static final long serialVersionUID = 1L;private String userId;private String userName;private String userPassword;private String userAge;private String userSex;private String userAddress;public String getUserId() {return userId;}public void setUserId(String userId) {this.userId = userId;}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getUserPassword() {return userPassword;}public void setUserPassword(String userPassword) {this.userPassword = userPassword;}public String getUserAge() {return userAge;}public void setUserAge(String userAge) {this.userAge = userAge;}public String getUserSex() {return userSex;}public void setUserSex(String userSex) {this.userSex = userSex;}public String getUserAddress() {return userAddress;}public void setUserAddress(String userAddress) {this.userAddress = userAddress;}public UserInfo() {super();}}services 入口接口
package com.julongtech.webservice;import java.util.List;import com.julongtech.entity.UserInfo;/*** webservice的总入口* @author julong* @date 2016-6-23 下午10:39:03*/public interface CurrentService {/*** 获取用户信息* @param userId* @return* @author julong* @date 2016-6-23 下午10:48:06*/public abstract String getUser(String userId);/*** 删除用户信息* @param userId* @return* @author julong* @date 2016-6-23 下午10:48:19*/public abstract String deleteUser(String userId);/*** 测试程序接口* @param userName* @return* @author julong* @date 2016-6-23 下午10:49:36*/public abstract List<UserInfo> sayHello(String userName);public abstract String byteTest(String userId);}package com.julongtech.webservice;public interface UserService {public String test();}实现类
package com.julongtech.webservice.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.julongtech.entity.UserInfo;
import com.julongtech.webservice.CurrentService;
public class CurrentServiceImpl implements CurrentService {
public String deleteUser(String userId) {
// TODO Auto-generated method stub
List<UserInfo> user = new ArrayList<UserInfo>();
for (int i = 0; i < 5; i++) {
UserInfo u = new UserInfo();
u.setUserId(""+i);
u.setUserName("中国人"+i);
u.setUserAddress("西安"+i);
u.setUserPassword("0000000");
u.setUserAge("20");
user.add(u);
}
ObjectMapper objectMapper = new ObjectMapper();
String result = "";
try {
result = objectMapper.writeValueAsString(user);
} catch (JsonProcessingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
public String getUser(String userId) {
// TODO Auto-generated method stub
List<String> list = new ArrayList<String>();
for (int i = 0; i < 5; i++) {
list.add("中国人"+i);
}
Map<String,Object> maps = new HashMap<String,Object>();
maps.put("key", list);
return maps.toString();
}
public List<UserInfo> sayHello(String userName) {
// TODO Auto-generated method stub
List<UserInfo> user = new ArrayList<UserInfo>();
for (int i = 0; i < 5; i++) {
UserInfo u = new UserInfo();
u.setUserId(""+i);
u.setUserName("中国人"+i);
user.add(u);
}
return user;
}
public String byteTest(String userId) {
// TODO Auto-generated method stub
List<UserInfo> user = new ArrayList<UserInfo>();
for (int i = 0; i < 5; i++) {
UserInfo u = new UserInfo();
u.setUserId(""+i);
u.setUserName("中国人"+i);
u.setUserAddress("西安"+i);
u.setUserPassword("0000000");
u.setUserAge("20");
user.add(u);
}
ObjectMapper objectMapper = new ObjectMapper();
byte[] result = null;
try {
result = objectMapper.writeValueAsBytes(user);
} catch (JsonProcessingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result.toString();
}
}package com.julongtech.webservice.impl;
import com.julongtech.webservice.UserService;
public class UserServiceImpl implements UserService {
public String test() {
// TODO Auto-generated method stub
return "你上当啦!!";
}
}如果想返回对象javabean 配置文件 CurrentService.aegis.xml
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="sayHello">
<return-type componentType="com.julongtech.entity.UserInfo" />
</method>
</mapping>
</mappings>只要配置好运行起来是没问题的 通过 http://localhost:8080/XfireService/services 访问 至此完成










