最近几天研究了下axis1.4 网上的内容 总是写些无关痛痒的文章,对复杂对象,对象内置对象介绍太少了;
不多说了,直接上代码:Service
package com.zxin.service; import com.zxin.bean.*; public class HelloWorld { public Response getList(User user){ System.out.println("user sucess : " +user.getUserId()); User[] us = new User[2]; User u = new User(); u.setUserId("11"); u.setUserName("test"); us[0]=u; u = new User(); u.setUserId("12"); u.setUserName("gggg"); us[1]=u; Response rs = new Response(); rs.setResultMsg("00001"); rs.setUsers(us); return rs; } }
bean:
package com.zxin.bean; public class Response { private String resultMsg; public String getResultMsg() { return resultMsg; } public void setResultMsg(String resultMsg) { this.resultMsg = resultMsg; } public User[] getUsers() { return users; } public void setUsers(User[] users) { this.users = users; } private User[] users; }
User:
package com.zxin.bean; public class User { private String userId; private String userName; 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; } }
好了手写wsdd:
deploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="HelloWorld" provider="java:RPC"> <parameter name="className" value="com.zxin.service.HelloWorld" /> <parameter name="allowedMethods" value="*" /> <!-- 这个service的范围:request(默认)、session、application --> <parameter name="scope" value="session" /> <beanMapping languageSpecificType="java: com.zxin.bean.Response" qname="ns2:Response" xmlns:ns2="urn:BeanService"/> <beanMapping languageSpecificType="java: com.zxin.bean.User" qname="ns2:User" xmlns:ns2="urn:BeanService"/> <!-- 复合数组 --> <arrayMapping qname="ns2:users" xmlns:ns2="urn:ArrayService" languageSpecificType="java:com.zxin.bean.User[]" innerType="ns2:User" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> </service> </deployment>
完成,
接下来 用Axis1.4的命令,生成一个bat 文件,
你懂的,产生:service-config.xml;
set Axis_Lib=C:\tomcat-6.0\webapps\axis\WEB-INF\lib set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% set Axis_Servlet=http://localhost:8080/axis/servlet/AxisServlet %Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd pause;
service-config.xml
完成
顺便提个工具TCPMONITTER
set Axis_Lib=C:\tomcat-6.0\webapps\axis\WEB-INF\lib set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib% %Java_Cmd% org.apache.axis.utils.tcpmon pause;