Axis1.4实例说明——服务端、客户端

一、服务端
1、下载axis1.4的jar包 
2、创建WebProject
3、将下载的axis1.4下的所有jar导入到项目中
4、修改web.xml文件,这个跟servlet有很多相似的地方,对比着看就行了
<?xml version="1.0" encoding"UTF-8"?>
<web-app version="3.0"
       xmlns="http://java.sun.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" >
  <display-name ></display-name>      
  <welcome-file-list >
    <welcome-file >index.jsp</ welcome-file>
  </welcome-file-list >
  <servlet >
             <display-name>
             Apache-Axis Servlet </display-name>
             <servlet-name> AxisServlet</servlet-name >
             <servlet-class>
            org.apache.axis.transport.http.AxisServlet </servlet-class>
       </servlet>
       <servlet>
             <display-name>
            Axis Admin Servlet </display-name>
             <servlet-name> AdminServlet</servlet-name >
             <servlet-class>
            org.apache.axis.transport.http.AdminServlet </servlet-class>
             <load-on-startup> 100</load-on-startup >
       </servlet>
       <servlet-mapping>
             <servlet-name> AxisServlet</servlet-name >
             <url-pattern> /servlet/AxisServlet </url-pattern>
       </servlet-mapping>
       <servlet-mapping>
             <servlet-name> AxisServlet</servlet-name >
             <url-pattern> *.jws</url-pattern >
       </servlet-mapping>
       <servlet-mapping>
             <servlet-name> AxisServlet</servlet-name >
             <url-pattern> /services/*</url-pattern >
       </servlet-mapping>
       <servlet-mapping>
             <servlet-name> AdminServlet</servlet-name >
             <url-pattern> /servlet/AdminServlet </url-pattern>
       </servlet-mapping>
</web-app>

5、在src下新建包server并在包下新建类SayHello
package server;

public class SayHello {

       public String getName(String name)
          {
              return "hello " +name;
          }
}
6、右键选择项目=》Run As=》Run Configurations...

在左上角选择新建,填写Name,在Main选项卡里会有项目名,Main class里填写org.apache.axis.wsdl.Java2WSDL(Search里也有)

在Arguments选项卡里面,Program arguments里写入
-d -l"http://127.0.0.1:8885/Axis1.4_Service_003/services/SayHello" -o "sayHello.wsdl" server.SayHello
说明一下
-d 这个选项是要生成 deploy.wsdd 和 undeploy.wsdd
-l 这个选项是要生成webService将来要访问的地址,我做了个假设:http://127.0.0.1:8885/Axis1.4_Service_003/services/SayHello
-o 这个选项是要生成wsdl文件,我假设了一个文件名:sayHello.wsdl
server.SayHello 这个就是我们要发布的类,可以更换成你的发布类



Run一下,再刷新你的项目,可以看到多出了server文件夹和sayHello.wsdl文件(一定记着刷新,我测试好几次没成功,最后才发现是没刷新项目)

到此为止,就完成wsdl和deploy.wsdd等文件的自生成
7、下面就要创建server-config.wsdd了,先将系统部署到tomcat里,启动tomcat,把deploy.wsdd文件放到根目录下,这一点我试了很多次,不拿出来,后面操作可能会有问题
8、然后跟上面步骤6一样,右键选择项目,Run As啊啥的,就不一一说了,重点是这次要在Main class里填写org.apache.axis.client.AdminClient
在Arguments选项卡里面,Program arguments里写入
-lhttp://127.0.0.1:8885/Axis1.4_Service_003/services/SayHello deploy.wsdd
再一次Run一下,到tomcat的webapps=》Axis1.4_Service_003=》WEB-INF里看看吧,多了一个server-config.wsdd
你可以将server-config.wsdd拷到你项目的根目录下,重新部署tomcat,再一次启动,在浏览器地址栏里面输入http://localhost:8885/Axis1.4_Service_003/services,其中SayHello就是咱们的webservice了

二、Axis客户端
再试试生成客户端吧,客户端就比那个服务端简单多了
1、新建web Project项目Axis1.4_Client_003(和前面服务端一样的手法) 
2、将axis1.4的所有jar导入(也和上面一样)
3、在你的服务端启动的前提下,右键项目,Run As(还是和上面操作一样)
4、这次要在Main class里填写org.apache.axis.wsdl.WSDL2Java(服务器是写的java2wsdl,别混了)
    
在Arguments选项卡里面,Program arguments里写入
-u  http://localhost:8885/Axis1.4_Service_003/services/SayHello?wsdl  -o e:/WS003/source
现在,你的E盘下多了WS003文件夹,文件夹里source有了server文件夹
5、将server文件夹整个拷到项目的src文件夹下
6、写个测试吧,导入junit的jar
新建类TestWSClient 
package test;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import server.SayHello;
import server.SayHelloService;
import server.SayHelloServiceLocator;

public class TestWSClient extends TestCase {

    public TestWSClient(String string) {
        super(string);
    }

    public void SayHelloClient() throws Exception {

        SayHelloService service = new SayHelloServiceLocator();
        SayHello client = service.getSayHello() ;
        String retValue = client.getName("clientname");
        System.out.println(retValue);

    }

    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.addTest(new TestWSClient("SayHelloClient"));
        return suite;
    }
}
运行一下,green bar通过!控制台输出hello clientname
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值