WebService大讲堂之Axis2(1):用POJO实现0配置的WebService - 编程入门网
新,也就是说 ,一旦成功发布了WebService,再想更新该WebService,就必须重启Tomcat。这对于开发人员调试 WebService非常不方便,因此,在开发WebService时,可以将Axis2设为热更新。在axis2.xml文件中找到 <parameter name="hotupdate">false</parameter>,将false改为true即可。
3.在浏览器中测试WebService时,如果WebService方法有参数,需要使用URL的请求参数来指定该 WebService方法参数的值,请求参数名与方法参数名要一致,例如,要测试getGreeting方法,请求参数 名应为name,如上面的URL所示。 4.发布WebService的pojo目录只是默认的,如果读者想在其他的目录发布WebService,可以打开 axis2.xml文件,并在<axisconfig>元素中添加如下的子元素:
上面的配置允许在<Tomcat安装目录>\webapps\axis2\WEB-INF\my目录中发布WebService。例如 ,将本例中的SimpleService.class复制到my目录中也可以成功发布(但要删除pojo目录中的 SimpleService.class,否则WebService会重名)。 三、 用Java实现调用WebService的客户端程序 WebService是为程序服务的,只在浏览器中访问WebService是没有意义的。因此,在本节使用Java实 现了一个控制台程序来调用上一节发布的WebService。调用WebService的客户端代码如下: package client; import javax.xml.namespace.QName; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; public class RPCClient { public static void main(String[] args) throws Exception { // 使用RPC方式调用WebService RPCServiceClient serviceClient = new RPCServiceClient(); Options options = serviceClient.getOptions(); // 指定调用WebService的URL EndpointReference targetEPR = new EndpointReference( "http://localhost:8080/axis2/services/SimpleService"); options.setTo(targetEPR); // 指定getGreeting方法的参数值 Object[] opAddEntryArgs = new Object[] {"超人"}; // 指定getGreeting方法返回值的数据类型的Class对象 Class[] classes = new Class[] {String.class}; // 指定要调用的getGreeting方法及WSDL文件的命名空间 QName opAddEntry = new QName("http://ws.apache.org/axis2", "getGreeting"); // 调用getGreeting方法并输出该方法的返回值 System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]); // 下面是调用getPrice方法的代码,这些代码与调用getGreeting方法的代码类似 classes = new Class[] {int.class}; opAddEntry = new QName("http://ws.apache.org/axis2", "getPrice"); System.out.println(serviceClient.invokeBlocking(opAddEntry, new Object[]{}, classes)[0]); } } WebService大讲堂之Axis2(1):用POJO实现0配置的WebService(4)时间:2011-08-13 BlogJava 哈佛校训运行上面的程序后,将在控制台输出如下的信息: 你好超人 443 在编写客户端代码时应注意如下几点: 1.客户端代码需要引用很多Axis2的jar包,如果读者不太清楚要引用哪个jar包, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |