最近几天研究了下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;