AXIS2框架下另一种发布WEBSERVICE的方法,以及浏览器中验证的方法及参数的写法

http://blog.csdn.net/ccccdddxxx/article/details/8587160

这篇文章中写出了发布WEBSERVICE的一种形式,以及利用框架自动生成的webservice客户端的发布。

下面是在AXIS2框架下另一种发布WEBSERVICE的方法


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

import java.util.Random;

/**
 * function: WebService HelloWorld服务示例
 * @author hoojo
 * @createDate 2011-1-5 下午03:35:06
 * @file HelloWorldService.java
 * @package com.hoo.service
 * @project Axis2WebService
 * @blog http://blog.csdn.net/IBM_hoojo
 * @email hoojo_@126.com
 * @version 1.0
 */
public class HelloWorldService {
	public String sayHello(String name) {
		return name + " say: hello [axis2]";
	}
	
	public int getAge(int i) {
		return i + new Random().nextInt(100);
	}
}

注意,上面的HelloWorldService是没有package的。Copy这个类的class文件,放到tomcat目录下的webapps的axis2的WEB-INF目录的pojo文件夹下。

如果没有pojo这个目录就手动创建一个一个文件夹。然后在浏览器输入:http://localhost:8080/axis2/

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

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

clip_image002

点击链接就可以看到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


这里需要注意有有在浏览器中输入的URL地址

在本人按照上述实验时按照上面提供的URL地址写是不对的







如上图所示:

重点在于,参数的名称要与WDSL文件的参数名称是相对应的,这里我生成的WDSL文件看到




如上图可以看到name  对应的参数名称应该是args0,以及getAge对应的参数也是args0








这样就成功了,

其实重点还是看WDSL文件

好了,今天就写到这,讨论没完,下篇文章接着说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值