您的位置:首页 > 其它

Axis1.4 快速入门 发布WebService服务端、生成WebService客户端

2014-03-05 13:28 716 查看
本文环境

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

所需jar包:如图

 


下面说具体步骤:

1、新建web项目 AxisDemo,把上面的jar包 复制到lib目录

2、配置web.xml

如图



<!-- 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类



SayHello.java

package com.WebService.server;

public class SayHello {

 public String getName(String name) {

  return "hello " + name;

 }

}

4、发布webservice (配置server-config.wsdd)



 <!-- 发布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 )



查看Service列表 访问地址

http://localhost:8080/services/



 

wsdl地址:http://localhost:8080/services/SayHello?wsdl



 

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

 

 

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

wsdl地址:http://localhost:8080/services/SayHello?wsdl

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

使用WSDL2Java工具直接生成

在WEB-INF目录下 新建一个WSDL2Java.bat



代码如下

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



刷新项目

客户端代码已经自动生成



测试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

输入结果如下



这样客户端 也可以了。

更复杂的应用及配置 需要自己慢慢研究了。基本入门还是很简单的

 

附上示例的源码下载地址:http://ishare.iask.sina.com.cn/f/23747860.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐