您的位置:首页 > 编程语言 > Java开发

【转载】使用Eclipse+Axis2构建Web Service应用(客户端无需生成Stub方式)

2010-06-14 01:34 836 查看
转自 http://hi.baidu.com/getpost/blog/item/eb9187817b4cb1d2bc3e1ee4.html

/article/4381640.html

1.建立要发布的Web Service

(1)在 Eclispse 中添加一个用户库命名为 axis2 ,将 axis2\lib 下的包均添加进来。这一步操作的目的是为了以后工程添加 axis2 所需的 jar 文件方便。
(2) 建立一个 JavaProject 命名为 ws ,将 axis2 用户库加入到 build path 中。
(3) 现在开始编写要发布的 WebSevice ,在 src 中建包 briup ,建立 Hello 类如下:

package briup;

public class Hello {
public String sayHello(String user) {
return "Hello, " + user;
}
}


2.发布Web Service

打包要发布的 Service , Eclipse 中 New --> File --> Other --> Axis2 wizards --> Axis2 Services Archiver ,按照向导选择刚建立的类编译后的 class 文件。
(1)选择 class 文件目录,注意,不是 java 源文件,而是 classes 目录,这里需要注意由于你的类是带包briup的,因此不要选到包这个目录。

(Class file Location:\工作目录\工程名\ws\bin)
(2)连按两次 “Next>” ,选中 “Generate the service xml automatically”
(3)按下一步,输入 service 名称和类名,我这里输入的服务名是:ws;类名是我们刚刚写的类名:briup.Hello,这里需要注意加入完整的包名。
(4) 按下一步,输入 service 文件的保存路径和文件名,完成。
选择生成目录为:Tomcat 6.0目录\webapps\axis2\WEB-INF\services,也可以选择其他目录,然后copy到这一目录下。

3.测试Web Service

打开http://localhost:8080/axis2/services/listServices页面,可以看到ws服务,点击进到ws的wsdl页面:http://localhost:8080/axis2/services/ws?wsdl,表明服务部署正确。

(前提,tomcat已经启动)

三、编写客户端代码调用服务

我的这个例子与其他例子最大的不同就在这里,其他例子一般需要根据刚才的服务wsdl生成客户端stub,然后通过stub来调用服务,这种方式显得比较单一,客户端必须需要stub存根才能够访问服务,很不方面。

本例子的客户端不采用stub方式,而是一种实现通用的调用方式,不需要任何客户端存根即可访问服务。只需要指定对于的web servce地址、操作名、参数和函数返回类型即可。代码如下:

代码

package briup;

public class WsTest {

public static void main(String[] args) throws Exception {

WsStub stub = new WsStub("http://localhost:8080/axis2/services/ws");

WsStub.SayHello sayHello = new WsStub.SayHello();

sayHello.setUser("briup");

WsStub.SayHelloResponse res = stub.sayHello(sayHello);

System.out.println(res.get_return());
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐