Axis2接口的使用
的有关信息介绍如下:Java创建Webservice服务端、调用,这是自己写的一个案例,仅供参考。
将bin包和war包解压,
将里面的axis2.war解压
用MyEclipse新建Java WEB项目testAxis2,将axis2.war解压出来的WEB-INF里面除了class文件夹外的所有文件拷贝到新建的项目的WEB-INF下
接下来开始写Webservice服务端。
在项目src下右击新建类,类名叫HelloService,放在默认包下,类里面有两个放法:sayHello()、sayHelloToName(String name);
代码如下:
在项目的WEB-INF/services/axis2/META-INF/services.xml里配置接口的类,信息如下:
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> 解释: 将axis2.war文件拷贝到tomcat的webapps下,运行tomcat,在浏览器里输入:http://localhost:8080/axis2,将会出现下图,说明Axis2搭建成功了。 将刚才自己建的WEB项目发布到相同的tomcat里。(如果上面的tomcat每关闭要先关闭)启动tomcat。在浏览器里输入地址:http://localhost:8080/testAxis2/axis2-web/index.jsp,回车,点击Services,可以看到自己写的服务HelloService和服务的方法sayHello、sayHelloToName,如图下图,至此说明Webservice服务接口发布成功,接下来就是调用接口。 在项目里新建一个测试类,代码如下: package com.zl.test; import javax.xml.namespace.QName; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.rpc.client.RPCServiceClient; public class CallAxis2 { @SuppressWarnings("unchecked") public static void main(String[] args) { try { //调用webservice RPCServiceClient serviceClient = new RPCServiceClient(); org.apache.axis2.client.Options options = serviceClient.getOptions(); EndpointReference targetEPR = new EndpointReference( "http://192.168.99.152:8080/testAxis2/services/HelloService");//接口地址 options.setTo(targetEPR); QName opGetWeather = new QName("http://ws.apache.org/axis2", "sayHelloToName");//命名空间、接口方法 String str="美女"; Object[] opGetWeatherArgs = new Object[] {str};//请求文 Class[] returnTypes = new Class[] { String.class }; Object[] response = serviceClient.invokeBlocking(opGetWeather,opGetWeatherArgs, returnTypes); String result = (String) response;//返回结果 System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } } 运行后控制台会输出:hello 美女。说明接口调用成功。