zoukankan      html  css  js  c++  java
  • Axis1.4 WebService

    Axis1.4 快速入门 发布WebService服务端、生成WebService客户端
    2012年04月01日 星期日 14:09

    本文环境

    jdk1.6  、Axis1.4、  tomcat6

    所需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

    输入结果如下

    这样客户端 也可以了。

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

  • 相关阅读:
    2021,6,10 xjzx 模拟考试
    平衡树(二)——Treap
    AtCoder Beginner Contest 204 A-E简要题解
    POJ 2311 Cutting Game 题解
    Codeforces 990G GCD Counting 题解
    NOI2021 SDPTT D2T1 我已经完全理解了 DFS 序线段树 题解
    第三届山东省青少年创意编程与智能设计大赛总结
    Luogu P6042 「ACOI2020」学园祭 题解
    联合省选2021 游记
    Codeforces 1498E Two Houses 题解 —— 如何用结论吊打标算
  • 原文地址:https://www.cnblogs.com/weipeng/p/2428956.html
Copyright © 2011-2022 走看看