您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > WebService的开发模版(Axis2_15环境)
WebService的开发模版(Axis21.5环境)Axis2已经升级到1.5了,下载地址:://apache.etoak.com/ws/axis2/1_5/axis2-1.5-war.zip两个包,bin是开发包,war是部署包。环境:axis2-1.5jdk1.5一、创建项目导创建一个Java项目,项目结构如下图:Service└─src└─pojo└─META-INF二、导入axis2的包解压缩axis2-1.5-bin.zip到一个目录下,然后直接引入axis2的jar包即可。也可以讲axis2的包复制到lib下。三、创建服务axis2服务的创建过程就是写Java类。这里创建一个最简单的Service,作为发布对象。packagepojo;/***测试Service**@authorleizhimin2009-8-415:48:13*/publicclassSimpleService{publicStringdoSomething(Stringtaskname){System.out.println(MyServiceImpliscallingdoSomethingwith+taskname+!);returntaskname+isfinished!;}}把创建好的SimpleService.class文件拷贝到axis的pojo下面,如果没有pojo文件夹则自己创建一个。四、描述服务在项目的src\META-INF文件夹下面,创建services.xml,内容如下:servicename=SimpleServicescope=applicationtargetNamespace===org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver/messageReceivermep==org.apache.axis2.rpc.receivers.RPCMessageReceiver//messageReceiversparametername=ServiceClasspojo.SimpleService/parameter/service服务名:SimpleService服务实现类:pojo.SimpleService生成SimpleService.aar文件,目的是类文件可以带包名进行发布服务1.cmd-进入到项目的“src”目录执行下面命令-“jar-cvfSimpleService.aarMETA-INF”;五、部署服务将下载的axis2-1.5-war.zip解开,得到一个axis2.war,将其解压缩到tomcat的默认的web发布目录webapp下面,比如,在我机器上会产生F:\apache-tomcat-6.0.20\webapps\axis2的目录,目录下面就是axis2.war里面的内容。然后,将生成的SimpleService.aar复制到F:\apache-tomcat-6.0.20\webapps\axis2\WEB-INF\services下面。八、启动tomcat,查看发布服务浏览axis2的服务点Services,查看所有的服务在点击服务连接,就可以查看wsdl了:经过这样的测试后,服务发布算成功了。六、客户端服务packagepojo;importjava.io.ByteArrayInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.net.MalformedURLException;importjava.net.URL;importjava.net.URLConnection;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.Map;importjava.util.Timer;importjava.util.TimerTask;importjavax.xml.namespace.QName;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.rpc.ServiceException;importorg.apache.axis.client.Call;importorg.apache.axis.client.Service;importorg.apache.axis2.addressing.EndpointReference;importorg.apache.axis2.client.Options;importorg.apache.axis2.rpc.client.RPCServiceClient;publicclassRPCClient{publicstaticvoidmain(String[]args)throwsException{try{//使用RPC方式调用WebServiceRPCServiceClientserviceClient=newRPCServiceClient();Optionsoptions=serviceClient.getOptions();//指定调用WebService的URLEndpointReferencetargetEPR=newEndpointReference();options.setTo(targetEPR);//指定getGreeting方法的参数值Object[]opAddEntryArgs=newObject[]{2011-1-25测试};//指定getGreeting方法返回值的数据类型的Class对象Class[]classes=newClass[]{String.class};//指定要调用的getGreeting方法及WSDL文件的命名空间QNameopAddEntry=newQName();//调用getGreeting方法并输出该方法的返回值Stringxml=(String)serviceClient.invokeBlocking(opAddEntry,opAddEntryArgs,classes)[0];System.out.println(xml);}catch(Exceptione){e.printStackTrace();}}
本文标题:WebService的开发模版(Axis2_15环境)
链接地址:https://www.777doc.com/doc-905438 .html