二、Axis2的简单WebService示例

系统 1841 0

1、编写一个简单的WebService的服务器端代码,代码如下:

      
      
      
        代码
      
      
    

注意,上面的HelloWorldService是没有package的。Copy这个类的class文件,放到tomcat目录下的webapps的axis2的WEB-INF目录的pojo文件夹下。如果没有pojo这个目录就手动创建一个一个文件夹。然后在浏览器输入: http://localhost:8080/axis2/

点击Services的链接就可以看到我们手动发布的HelloWorldService了,或者是浏览器地址栏输入: http://localhost:8080/axis2/services/listServices

你就可以看到你刚才粘贴过去的这个WebService了。

二、Axis2的简单WebService示例_第1张图片

点击链接就可以看到wsdl文件的内容了。内容很多,如果你看过axis1.x的介绍就知道wsdl文件的大致结构了。

clip_image004

下面讲解下为什么要将class放在pojo文件夹下。首先我们看看[tomcat_home]/webapps/axis2/WEB-INF/conf/axis2.xml

该文件中有这样一行代码:

<deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>

.class的后缀文件放在目录pojo目录下。

2、测试这个WebService的方法

复制上面的HelloWorldService的链接地址,然后带上方法名称和参数值即可测试调用是否成功。如下:

http://localhost:8080/axis2/services/HelloWorldService/sayHello?name=jack

http://localhost:8080/axis2/services/HelloWorldService 这个是WebService的地址

/sayHello是方法名称,?name=jack是参数名称和值

在浏览器中输入上面的地址后,可以看到如下效果:

clip_image006

可以看到返回值,和方法名称。ns:sayHelloResponse是方法名称,所有的方法名称后都会带上Response,后面的ns当然是当前方法所在的类的包名了,这里没有package就是默认的axis2的域名。

同样,getAge方法,也是一样的调用方法。

http://localhost:8080/axis2/services/HelloWorldService/getAge?i=22

结果如下:

clip_image008

3、下面我们看下客户端调用代码的编写,代码如下:

      
      
      
        代码
      
      
    

如果你了解或是 看过axis1.x的WebService ,这里的客户端调用代码比较简单,有部分关键注释,这里就不多加赘述。值得注意的是axis2的WebService客户端调用的返回对象是一个Object的数组,这点和axis1.x有很大不同。我们一般拿数组的第一个值,转换强转即可。

二、Axis2的简单WebService示例


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论