8. name = \; 9. }
10. return \+name; 11. }
12. public void updateData(String data){ 13. System.out.println(data+\已更新。\); 14. } 15. }
要想将HelloServiceNew类发布成Web Service,需要一个services.xml文件, 这个文件需要放在META-INF目录中,该文件的内容如下:
Xml代码
1. 2.
6.
7. com.sinosoft.webservice.HelloServiceNew 8. 9.
10. -out\ 11. class=\ \ /> 12. -only\ 13. class=\ er\ /> 14. 15. 其中 name属性表示WebService名,如下面的URL可以获得这个WebService的WSDL内容: http://localhost:8080/axis2/services/HelloServiceNew?wsdl 其中name属性名就是上面URL中\和\之间的部分。 在这里用于设置WebService对应的类名。 在这里最值得注意的是 例如,sayHelloNew方法有一个返回值,因此,需要使用可处理输入输出的RPCMessageReceiver类, 而updateData方法没有返回值,因此,需要使用只能处理输入的RPCInOnlyMessageReceiver类。 使用这种方式发布WebService,必须打包成.aar文件,.aar文件实际上就是改变了扩展名的.jar文件。 现在建立了两个文件:HelloServiceNew.Java和services.xml。 将HelloServiceNew.java编译,生成HelloServiceNew.class。 services.xml和HelloServiceNew.class文件的位置如下: D:\\ws\\ com\\sinosoft\\webservice\\HelloServiceNew.class D:\\ws\\META-INF\\services.xml 在windows控制台中进入ws目录,并输入如下的命令生成.aar文件. jar cvf ws.aar . 实际上,.jar文件也可以发布webservice,但axis2官方文档中建议使用.aar文件发布webservice. 最后将ws.aar文件复制到 启动Tomcat后,就可以调用这个WebService了。 另外services.xml文件中也可以直接指定WebService类的方法,如可以用下面的配置代码来发布WebService Xml代码 1. 5. 6. com.sinosoft.webservice.HelloServiceNew 7. 8. 9. eceiver\/> 10. 11. 12. 13. class=\ /> 14. 15. 如果想发布多个WebService,可以使用 Xml代码 1. 2. 5. 中间省略的代码同上面services.xml文件的配置。 三、 用Java实现调用WebService的客户端程序 WebService是为程序服务的,只在浏览器中访问WebService是没有意义的。调用WebService的客户端代码如下: