package com.elgin.webservice; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class WebServiceDemo { public String sayHello(String name) { return "hello " + name; } public int getAge() { return 26; } public List<SysUser> getAllUser() { List<SysUser> list = new ArrayList<SysUser>(); SysUser user1 = new SysUser(); user1.setAge("10"); user1.setIdCard("411325199212101023"); user1.setUserName("张一"); list.add(user1); SysUser user2 = new SysUser(); user2.setAge("11"); user2.setIdCard("421325199212101022"); user2.setUserName("张二"); list.add(user2); SysUser user3 = new SysUser(); user3.setAge("12"); user3.setIdCard("431325199212101023"); user3.setUserName("张三"); list.add(user3); return list; } public Map<String, Object> getMapList(){ List<SysUser> list = new ArrayList<SysUser>(); SysUser user1 = new SysUser(); user1.setAge("10"); user1.setIdCard("411325199212101023"); user1.setUserName("张一"); list.add(user1); SysUser user2 = new SysUser(); user2.setAge("11"); user2.setIdCard("421325199212101022"); user2.setUserName("张二"); list.add(user2); List<SysUser> list2 = new ArrayList<SysUser>(); SysUser user3 = new SysUser(); user3.setAge("12"); user3.setIdCard("431325199212101023"); user3.setUserName("张三"); list2.add(user3); Map<String, Object> map = new HashMap<String, Object>(); map.put("userList1", list); map.put("userList2", list2); return map; } public Map<String, Object> getMapString(){ Map<String, Object> map = new HashMap<String, Object>(); map.put("userName", "张三"); map.put("userAge", "20"); return map; } }
services.xml
<?xml version="1.0" encoding="UTF-8"?> <serviceGroup> <!--name属性配置WebService的名称 --> <service name="myService"> <description>Web Service</description> <!-- ServiceClass属性配置提供WebService服务类的全类名 --> <parameter name="ServiceClass">com.elgin.webservice.WebServiceDemo </parameter> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> </messageReceivers> <operation name="sayHello"> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> <operation name="getAge"> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> <operation name="getAllUser"> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> <operation name="getMapList"> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> <operation name="getMapString"> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> </service> </serviceGroup>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> </web-app>
详情参考:http://blog.csdn.net/kris234seth/article/details/50466758
备注:services.xml如果不指定具体的operation ,也就是方法名,那么在解析xml的时候会报错