一个axis2 webservice helloword例子

来源:互联网 发布:淘宝迅雷会员1分钱 编辑:程序博客网 时间:2024/06/05 13:09

一个axis2 webservice helloword例子
1. 从 http://ws.apache.org/axis2/download/1_4_1/download.cgi 网站下载axis2-1.4.1-bin.zip(Standard Distribution),及 axis2-1.4.1-war.zip (War Distribution)

2. 在eclipse中新建JAVA工程,如AxisService 新建一个包Stub,在包中建立一个java文件HelloAxis2,内容如下:

package Stub;

public class HelloAxis2 {
 public String echo(String value) {  System.out.println(">>>>> Service HelloWorldService: " + value + "   "
    + new java.util.Date().toLocaleString());
  return value;
 }
}

3. 在工程下面新建一个文件夹 META-INF ,并在其中建一个services.xml 内容如下:

<service>
 <parameter name="ServiceClass" locked="false">
  Stub.HelloAxis2
 </parameter>
 <operation name="echo">
  <messageReceiver
   class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
 </operation>
</service>

4. 打包成 *.aar 方法:

选中 Stub整个包,并且选中 services.xml  文件,右键 Export 为  JAR 文件。命名为: HelloAxis2.aar    Finish 即可.

这个HelloAxis2.aar   存在于 eclipse 中的workspace 目录下了.

5. 接下来到Tomcat中去. 将下载好的 axis2.war 解压到 Tomcat5.5的webapps中, 启动 Tomcat5.5

键入  http://127.0.0.1:8080/axis2/ (默认的端口) 出现Welcome 界面就OK.

6. 进入到 Administration 的界面 登录名 admin 密码 axis2

在Upload Service 页面中上传刚才建立的服务 HelloAxis2.aar 文件, 成功后就有服务HelloAxis2了.

在Available Services 页面会有 如下信息表示服务OK

HelloAxis2
Service EPR : http://127.0.0.1:8080/axis2/services/HelloAxis2
Service REST epr : http://127.0.0.1:8080/axis2/rest/HelloAxis2

Service Description : null
http://127.0.0.1:8080/axis2/services/HelloAxis2?wsdl 可看到其 WSDL文件。

7. 用CMD命令 进入到 axis2-std-1.0-bin.zip 解压包中执行:

       wsdl2java.bat -uri http://localhost:8080/axis2/services/HelloAxis2?wsdl -o F:/ -p Stub

将会在 F:/ 中生成一个src/Stub包 ,将其中的两个JAVA (HelloAxis2CallbackHandler.java   HelloAxis2Stub.java )拷贝到 另一个测试客户端的工程中进行测试.

另外加一个JAVA测试类TestHelloAxis2,内容如下:

package test;

import Stub.HWSStub;
import Stub.HWSStub.EchoResponse;

public class TestHWS {

   public static void main(String[] args) throws Exception {
    HWSStub stub = new HWSStub();
    HWSStub.Echo request = new HWSStub.Echo();
   
    request.setValue(">>>>>>Client OK :::: "+new java.util.Date().toLocaleString()
      +"axis2 web service......... "); 
    EchoResponse response = stub.echo(request);
    System.out.println("Response : " + response.get_return());
   }
}

测试结果:
[2008-12-10 10:31:10] [INFO ] Deploying module: metadataExchange - file:/D:/axis2/axis2-1.4.1/lib/mex-1.4.1.jar - at org.apache.axis2.deployment.ModuleDeployer.deploy(ModuleDeployer.java:75)

Response : >>>>>>Client OK :::: 2008-12-10 10:31:10axis2 web service.........

通过ie浏览器测试

http://localhost:8080/axis2/services/HelloAxis2 /echo?value=test

返回

- <ns:echoResponse xmlns:ns="http://Stub">
  <ns:return>test</ns:return>
  </ns:echoResponse>

OK!

 

原创粉丝点击