学习Axis2开发WebService 想用Axis2开发WebService接口,有没有帮助文档或者开发说明,各位大侠,能提供点帮助吗?听说WebService的wsdl文件可以手写,然后通过命令打包成aar文件?有这种实现方式吗?怎么打包的?命令怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 帮助文档可以到apache官网上去下如果你要手动写wsdl就不需要axis了,这些在发布后都由axis自动生成的。用上了axis你将不再需要命令,好比你用习惯了IDE你可能将不再希望用.txt http://blog.csdn.net/trocp/article/details/6757063刚刚写的。LZ去看。不懂再联系。 http://blog.csdn.net/wokao_wg/article/details/6615007自己看吧。 axis2的wsdl不用写,是自动生成的,当打包成aar文件部署的时候,在浏览器输入endpoint url ?wsdl就可以看到.例如:http://1.2.3.4:8080/endpoint?wsdl就看到,至于怎么学习,网上找找,很多的 axis2.apache.org http://axis.apache.org/axis2/java/core/下载文件里有例子的。 用tomcat运行axis2下载axis2.war放到tomcat的webapps下重启tomcat。会自动生成axis2文件夹在axis2下的WEB-INF里,如果没有pojo文件夹则新建一个。写一个service类,类名例如PolicyWS,写一个方法,return 一个String。把service class拷到pojo下,service class相关联的类拷到pojo相并列的classes下。启动tomcat,http://localhost:8088/axis2/services/listServices可以访问所有的webservice服务列表,用http://localhost:8088/axis2/services/PolicyWS?wsdl访问自动生成的wsdl。 附代码service:public class PolicyWS { public AccidentPolicyResultsDTO getAccPolicyInfo(String name,String password,AccidentPolicyDTO[] accidentPolicyDTOs){ System.out.println(name+":"+password); System.out.println("------"); if(accidentPolicyDTOs!=null&&accidentPolicyDTOs.length>0){ for (AccidentPolicyDTO dto : accidentPolicyDTOs) { System.out.println(dto.getPolicyNo()); } } System.out.println("------"); AccidentPolicyResultsDTO dto=new AccidentPolicyResultsDTO(); dto.setErrorMessage("error"); dto.setResponseCode("1001"); dto.setTaskNo("1123"); AccidentPolicyResultDTO[] policyResultDTOs=new AccidentPolicyResultDTO[2]; AccidentPolicyResultDTO d1=new AccidentPolicyResultDTO(); d1.setErrorReason("for nothing"); d1.setPolicyNo("124123"); d1.setPolicySequenceNo("3123123"); d1.setSingleResponseCode("990"); AccidentPolicyResultDTO d2=new AccidentPolicyResultDTO(); d2.setErrorReason("for nothing"); d2.setPolicyNo("124125"); d2.setPolicySequenceNo("4123123"); d2.setSingleResponseCode("490"); policyResultDTOs[0]=d1; policyResultDTOs[1]=d2; dto.setPolicyResultDTOs(policyResultDTOs); return dto; }}client:public class PolicyClient { /** * @param args * @throws AxisFault */ public static void main(String[] args) throws AxisFault { // TODO Auto-generated method stub RPCServiceClient rpc=new RPCServiceClient(); Options options=rpc.getOptions(); EndpointReference endPoint=new EndpointReference("http://localhost:8088/axis2/services/PolicyWS"); options.setTo(endPoint); Object[] params=new Object[]{"kyo","kyo",createThirdParam()}; Class[] returnClass=new Class[]{AccidentPolicyResultsDTO.class}; QName oper=new QName("http://ws.apache.org/axis2","getAccPolicyInfo"); Object[] result=rpc.invokeBlocking(oper, params, returnClass); for (int i = 0; i < result.length; i++) { AccidentPolicyResultsDTO dto=(AccidentPolicyResultsDTO)result[i]; System.out.println(dto.getErrorMessage()+";"+dto.getResponseCode()+":"+dto.getTaskNo()); for (AccidentPolicyResultDTO apr : dto.getPolicyResultDTOs()) { System.out.println(apr.getErrorReason()+";"+apr.getPolicyNo()+";"+apr.getPolicySequenceNo()+";"+apr.getSingleResponseCode()); } } } public static AccidentPolicyDTO[] createThirdParam(){ servlet和jsp同步问题 求助!“java文本框编辑器”功能代码或者js或者例子 高手解惑,DBCP连接问题。 求java简单教务管理系统 请高手来详细解答 struts2+hibernate,奇怪的错误 用post,地址栏会出现提交的内容是怎么回事! smartupload怎么解决中文提交问题? 寻找java开发比较有经验的公司 请问为什么不能显示中文 关于tomcat下部署两个同样的项目问题!请求帮助!! cp30连接池不能释放,oracle连接数高
下载axis2.war放到tomcat的webapps下
重启tomcat。会自动生成axis2文件夹
在axis2下的WEB-INF里,如果没有pojo文件夹则新建一个。
写一个service类,类名例如PolicyWS,写一个方法,return 一个String。
把service class拷到pojo下,service class相关联的类拷到pojo相并列的classes下。
启动tomcat,http://localhost:8088/axis2/services/listServices可以访问所有的webservice服务列表,用http://localhost:8088/axis2/services/PolicyWS?wsdl访问自动生成的wsdl。
service:public class PolicyWS {
public AccidentPolicyResultsDTO getAccPolicyInfo(String name,String password,AccidentPolicyDTO[] accidentPolicyDTOs){
System.out.println(name+":"+password);
System.out.println("------");
if(accidentPolicyDTOs!=null&&accidentPolicyDTOs.length>0){
for (AccidentPolicyDTO dto : accidentPolicyDTOs) {
System.out.println(dto.getPolicyNo());
}
}
System.out.println("------");
AccidentPolicyResultsDTO dto=new AccidentPolicyResultsDTO();
dto.setErrorMessage("error");
dto.setResponseCode("1001");
dto.setTaskNo("1123");
AccidentPolicyResultDTO[] policyResultDTOs=new AccidentPolicyResultDTO[2];
AccidentPolicyResultDTO d1=new AccidentPolicyResultDTO();
d1.setErrorReason("for nothing");
d1.setPolicyNo("124123");
d1.setPolicySequenceNo("3123123");
d1.setSingleResponseCode("990");
AccidentPolicyResultDTO d2=new AccidentPolicyResultDTO();
d2.setErrorReason("for nothing");
d2.setPolicyNo("124125");
d2.setPolicySequenceNo("4123123");
d2.setSingleResponseCode("490");
policyResultDTOs[0]=d1;
policyResultDTOs[1]=d2;
dto.setPolicyResultDTOs(policyResultDTOs);
return dto;
}
}
client:public class PolicyClient { /**
* @param args
* @throws AxisFault
*/
public static void main(String[] args) throws AxisFault {
// TODO Auto-generated method stub
RPCServiceClient rpc=new RPCServiceClient();
Options options=rpc.getOptions();
EndpointReference endPoint=new EndpointReference("http://localhost:8088/axis2/services/PolicyWS");
options.setTo(endPoint);
Object[] params=new Object[]{"kyo","kyo",createThirdParam()};
Class[] returnClass=new Class[]{AccidentPolicyResultsDTO.class};
QName oper=new QName("http://ws.apache.org/axis2","getAccPolicyInfo");
Object[] result=rpc.invokeBlocking(oper, params, returnClass);
for (int i = 0; i < result.length; i++) {
AccidentPolicyResultsDTO dto=(AccidentPolicyResultsDTO)result[i];
System.out.println(dto.getErrorMessage()+";"+dto.getResponseCode()+":"+dto.getTaskNo());
for (AccidentPolicyResultDTO apr : dto.getPolicyResultDTOs()) {
System.out.println(apr.getErrorReason()+";"+apr.getPolicyNo()+";"+apr.getPolicySequenceNo()+";"+apr.getSingleResponseCode());
}
}
}
public static AccidentPolicyDTO[] createThirdParam(){