Axis1.4 快速入门 发布WebService服务端、生成WebService客户端(转载+修改)

在别人博客上看到这篇文章,但文章中所有的图片都挂了。我找到图片资源,然后全部对应上去。以后会根据实际情况进行修改。

本文环境

jdk1.6 、Axis1.4、 tomcat6、Myeclipse8.6

所需jar包:如图
[img]http://dl.iteye.com/upload/attachment/0077/8203/2e4ead25-af21-3cb7-b2c0-6f0dafa3b70c.png[/img]

下面说具体步骤:
1、新建web项目 AxisDemo,把上面的jar包 复制到lib目录

2、配置web.xml

如图
[img]http://dl.iteye.com/upload/attachment/0077/8205/660cc43b-0e72-398e-9466-bd66d7db705e.png[/img]

<!-- Apache-Axis 配置开始 --> 
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<display-name>查看Services列表</display-name>
<url-pattern>/services/</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<display-name>Services地址</display-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<!-- Apache-Axis 配置结束 -->


3、新建一个webservice java类

[img]http://dl.iteye.com/upload/attachment/0077/8207/edb7b75f-2c46-3f0c-a7a0-114e8f395e09.png[/img]

SayHello.java
package com.WebService.server;

public class SayHello {
public String getName(String name) {
return "hello " + name;
}
}


4、发布webservice (配置server-config.wsdd)
[img]http://dl.iteye.com/upload/attachment/0077/8209/7e6f009a-5ea7-37fe-a381-344920796883.png[/img]
<!-- 发布WebService  name:service名称  -->
<service name="SayHello" provider="java:RPC">
<!-- 允许调用的方法 * 全部 -->
<parameter name="allowedMethods" value="*" />
<!-- WebService 对应的class -->
<parameter name="className" value="com.WebService.server.SayHello" />
</service>
<!-- end -->


5、发布web 运行站点(localhost 默认端口8080 )

[img]http://dl.iteye.com/upload/attachment/0077/8211/71c06b9a-3ddb-3532-91c0-47c3215c56b8.png[/img]

查看Service列表 访问地址

[u]http://localhost:8080/services/[/u]

[img]http://dl.iteye.com/upload/attachment/0077/8213/a2c806a8-6d4d-3b28-a30d-9f872d46c2b0.png[/img]


wsdl地址:[u]http://localhost:8080/services/SayHello?wsdl[/u]
[img]http://dl.iteye.com/upload/attachment/0077/8215/6f509418-5d19-3317-9fd4-68bd79dfbdf5.png[/img]

经过上面几步 webService 服务端发布成功


下面说一下客户端如何使用


wsdl地址:[u]http://localhost:8080/services/SayHello?wsdl[/u]

1、根据wsdl生成客户端代码

使用WSDL2Java工具直接生成

在WEB-INF目录下 新建一个WSDL2Java.bat
[img]http://dl.iteye.com/upload/attachment/0077/8217/fee1efd5-790c-3d61-aaeb-97744fb937bd.png[/img]

set Axis_Lib=./lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=F:\java\AxisDemo\src
set Package=com.WebService.client.pp
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% http://localhost:8080/services/SayHello?wsdl
pause

然后运行WSDL2Java.bat
[img]http://dl.iteye.com/upload/attachment/0077/8219/f58384fe-d9f1-39ac-8b68-538e94c1f305.png[/img]
刷新项目

客户端代码已经自动生成
[img]http://dl.iteye.com/upload/attachment/0077/8221/8c57e61d-8615-3d6e-8960-690913efec65.png[/img]
测试Service代码

新建ServiceClientTest.java类
package com.WebService;

import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import com.WebService.client.SayHelloServiceLocator;
import com.WebService.client.SayHelloSoapBindingStub;

public class ServiceClientTest {

/*
* 测试WebService
*/
public static void main(String[] args) throws ServiceException,
RemoteException {

// 调用WebService SayHello
SayHelloServiceLocator services = new SayHelloServiceLocator();
SayHelloSoapBindingStub sayHello = (SayHelloSoapBindingStub) services
.getSayHello();
System.out.println(sayHello.getName("xxx"));

}
}


然后运行ServiceClientTest

输入结果如下
[img]http://dl.iteye.com/upload/attachment/0077/8224/3e3b0e18-466b-3c06-8736-33a4768b2d94.png[/img]
这样客户端 也可以了。

更复杂的应用及配置 需要自己慢慢研究了。基本入门还是很简单的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值