Axis 开发 java WebService 接口

一、使用Axis开发WebService接口,第一步找到所需的jar架包:

1、axis-ant.jar

2、axis.jar

3、commons-discovery-0.2.jar

4、 commons-logging-1.10.4.jar

5、jaxrpc.jar

6、log4j.jar

7、saaj.jar

8、wsdl4j.jar

二、新建一个Web工程,名称为WebServiceProject,导入上面的jar包;

三、web.xml中加入Axis配置,代码如下:

    

<?xmlversion="1.0"encoding="ISO-8859-1"?>

<!DOCTYPEweb-app PUBLIC "-//SunMicrosystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

    <servlet>

     <servlet-name>axis</servlet-name>

     <servlet-class>

org.apache.axis.transport.http.AxisServlet

</servlet-class>

     <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

     <servlet-name>axis</servlet-name>

     <url-pattern>/services/*</url-pattern>

  </servlet-mapping>

<welcome-file-list>

   <welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

 

访问 http://127.0.0.1/WebServiceProject/services

应显示当前可用的web service

四、新建接口类,以及在接口中定义功能实现的方法,如下所示:

package com.service;

importcom.bean.UserBeanResponse;

importcom.bean.UserBeanRequest;

publicinterface UserLoginBO{

publicUserBeanResponse checkUserLogin(UserBeanRequestin0);

}

五、axis.jar架包中找到org.apche.axis.wsdl.Java2WSDL类,设置参数为:

-l"http://127.0.0.1:7001/WebServiceProject/services/Myservice"com.service.UserLoginBO

其中:-l选项用于指定webservice的地址,com.service.UserLoginBO指的是你所定义的接口。Myservice是访问接口的名称,运行成功后,刷新项目,在项目的根目录下获得一个Myservice.wsdl文件。

 

把项目部署到web服务器中,启动服务

六、运行axis.jar里面的org.apche.axis.wsdl.WSDL2Java生成客户端,在参数选项中使用形如-S false Myservice.wsdl,其中-Sfalse表示生成deploy.wsddundeploy.wsdd文件以及实现类。最后的参数表示步骤上一步生成的wsdl的名字,本例中为Myservice.wsdl,如果要指定生成文件的目录,加上“-o生成文件目录”参数(但是它不影响包结构),刷新项目,把生成的接口类和实现类拷贝到原接口类所在目录,覆盖旧的接口类,把生成的deploy.wsddundeploy.wsdd文件拷贝到项目的根目录下,本项目生成的接口类包括:

服务端UserLoginBO.java UserLoginBOService.javaLoginServiceSoapBindingImpl.java

客户端UserLoginBO.java UserLoginBOService.javaUserLoginBOServiceLocator.java

     LoginServiceSoapBindingStub.java

完服务端接口实现类的具体实现(LoginServiceSoapBindingImpl.java)

七、运行axis.jar里面的org.apache.axis.client.AdminClient,在参数选项中使用-lhttp://127.0.0.1:7001/MyAxis/services/AdminServicedeploy.wsdd其中-l用于指定AdminServiceURL,最后一个参数指定deploy.wsdd的路径,运行AdminClient后,deploy.wsdd的内容会被加入server-config.wsdd。如果server-config.wsdd不存在则会自动创建。

八、然后把项目部署到服务器中,使用http://127.0.0.1:7001/WebServiceProject/services地址访问,如果面页中出现第三个wsdl服务,说明部署成功;

九、新建客户端项目,把jar包导入,把第六步生成的客户端类和javaBean拷贝过来,然写一个java类进行调用,具体实现如下:

packagecom.service;

importjava.rmi.RemoteException;

importjavax.xml.rpc.ServiceException;

importcom.bean.UserBeanRequest;

importcom.bean.UserBeanResponse;

public class ClientClass{

      public static void main(String[] args) {

             // TODO Auto-generated method stub

             ClientClass ClientClasss = new ClientClass();

             UserBeanRequest request = new UserBeanRequest();

             request.setPassWord("dddddddd");

             request.setUserName("ddddddddddddd");

             UserLoginBOService userLogin = newUserLoginBOServiceLocator();

             try {

                    UserLoginBO userLogicBO =userLogin.getloginService();

                    UserBeanResponse response =userLogicBO.checkUserLogin(request);

                    System.out.print(response.getResultCode());

                    

             } catch (ServiceException e) {

                    // TODO Auto-generated catch block

                    e.printStackTrace();

             } catch (RemoteException e) {

                    // TODO Auto-generated catch block

                    e.printStackTrace();

             }

      }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值