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
    评论
JavaAxis2作为两种流行的编程语言和网络服务框架,方便开发人员创建和使用Web服务应用程序。在Java应用程序中,调用Web服务的一种有效方式是使用Axis2框架。以下是使用Java Axis2调用Web服务接口的步骤: 首先,你需要创建一个Java项目并添加Axis2依赖项。在Eclipse或其他Java IDE中,你可以右键单击项目并选择“属性”>“Java构建路径”>“库”>“添加外部JAR文件”将Axis2 JAR包添加到项目中。 然后,你需要使用WSDL(Web服务描述语言)文件创建客户端代码。WSDL文件描述了Web服务接口的各个方法及其参数和返回值。Java Axis2提供了一个工具,可以根据WSDL文件自动生成客户端代码。你可以使用cmd命令行窗口,转到Axis2的bin目录并执行以下命令创建客户端代码: wsdl2java -uri <WSDL文件路径> -s -d <输出目录路径> 执行完命令后,生成的客户端代码将保存在指定的输出目录路径中。 最后,在Java应用程序中,你需要创建一个服务客户端对象,使用生成的客户端代码调用Web服务的方法。以下是使用Java Axis2调用Web服务接口的示例: 1.创建服务客户端对象 Service service = new ServiceClient(); 2.创建服务端点对象 EndpointReference endpoint = new EndpointReference(<Web服务的URL>); 3.创建调用操作对象 Options options = new Options(); options.setTo(endpoint); options.setAction(<Web服务的命名空间和操作名称>); 4.调用Web服务的方法 OMElement result = service.invokeBlocking(<Web服务的方法名称>, <Web服务的参数>, <Web服务的参数类型>); 以上步骤可以使Java应用程序成功调用Web服务接口,从而实现Web服务的功能。但在实际应用中,还需要考虑安全性、性能优化等方面的因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值