加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

axis2的一个小例子

发布时间:2020-12-16 22:39:26 所属栏目:安全 来源:网络整理
导读:最近在研究webservice,axis2是其中一种实现方式。先做个小例子 1、下载axis2 http://axis.apache.org/axis2/java/core/download.cgi 我这里下载的是 axis2-1.6.2-bin.zip axis2-1.6.2-src.zip axis2-1.6.2-war.zip axis2-1.6.2-docs.zip 其实主要下载axis2-

最近在研究webservice,axis2是其中一种实现方式。先做个小例子

1、下载axis2

http://axis.apache.org/axis2/java/core/download.cgi
我这里下载的是
axis2-1.6.2-bin.zip
axis2-1.6.2-src.zip
axis2-1.6.2-war.zip

axis2-1.6.2-docs.zip

其实主要下载axis2-1.6.2-bin.zip和axis2-1.6.2-war.zip,然后解压它们

2、把axis2-1.6.2-war.zip解压的axis2.war,放到tomcat的webapps目录下。

3、启动tomcat即可,输入http://localhost:9080/axis2/(注意你自己端口号)

? 能显示正确页面即可。

4、Hello.java

注意没有package

[java]? view plain copy
  1. public?class?Hello?{??
  2. ???public?String?sayHello(String?name){??
  3. ??????return?"你好,"+name;??
  4. ???}??
  5. }??


直接把该类的class文件放在%tomcat_home%webappsaxis2WEB-INFpojo

启动tomcat,点击service,即可看到该服务Hello

或者输入

http://localhost:9080/axis2/services/Hello?wsdl。

5、客户端调用此方法

copy
    import?javax.xml.namespace.QName;??
  1. ??
  2. import?org.apache.axis2.AxisFault;??
  3. import?org.apache.axis2.addressing.EndpointReference;??
  4. import?org.apache.axis2.client.Options;??
  5. import?org.apache.axis2.rpc.client.RPCServiceClient;??
  6. ??
  7. class?TestHello?{??
  8. ????static?void?main(String[]?args)?{??
  9. ????????????String?url="http://localhost:9080/axis2/services/Hello";??
  10. ????????????QName?qName=new?QName("http://ws.apache.org/axis2","sayHello");??
  11. ????????????????????????//其中第一个参数值为访问url的targetNamespace??
  12. ??????????????
  13. ????????????try?{??
  14. ????????????????//指定调用webservice的URL??
  15. ????????????????RPCServiceClient?client?=?new?RPCServiceClient();??
  16. ????????????????Options?option=client.getOptions();??
  17. ????????????????////指定调用webservice的URL??
  18. ????????????????option.setTo(new?EndpointReference(url));??
  19. //设置输入参数??
  20. ????????????????Object[]?input=new?Object[]{"大兵哥"};??
  21. //设置返回类型??
  22. ????????????????Class[]?output=new?Class[]{String.class};??
  23. //返回值??
  24. ????????????????Object[]?returnValue=client.invokeBlocking(qName,?input,?output);??
  25. ????????????????System.out.println(returnValue[0]);??
  26. ????????????}?catch?(Exception?e)?{??
  27. ????????????????e.printStackTrace();??
  28. ????????????}??
  29. ??????????????
  30. ????}??
  31. }??
运行结果:你好,大兵哥

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读