zoukankan      html  css  js  c++  java
  • 如何在工程中使用axis2部署webservice

    有一个最简单的方法就是把axis2.war中的内容作为Web Project的基础, 来进行开发.

    不过为了更清楚的了解如何在一个已有的Web Project中嵌入axis2, 那就手动来配置。大致分如下几个步骤:

    一、新建Web Project,名为“WebServiceDemo”

    二、下载axis2-1.5-war.zip包,解压缩

    将axis2/WEB-INF/lib 里的jar包拷贝到 WebServiceDemo/WebRoot/WEB-INF/lib/

    将axis2.war/axis2-web拷贝至WebServiceDemo/ WebRoot/axis2-web/

    axis2需要的JAR包:

    三、配置axis2 servlet

    打开WebServiceDemo/WebRoot/WEB-INF/web.xml,增加如下配置:

    <servlet>    
        <servlet-name>AxisServlet</servlet-name>    
        <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>    
        <load-on-startup>1</load-on-startup>    
    </servlet>         
    <servlet-mapping>    
               <servlet-name>AxisServlet</servlet-name>    
               <url-pattern>/services/*</url-pattern>    
    </servlet-mapping>
    

    四、写一个简单的web服务类

    package service;         
    public class MyService {      
                  public String sayHello(String name) {  
                         return name + "says /"Hello!/"";  
                  }         
    }  
    

    五、配置Web Service.

    由于axis2已嵌入到WebServiceDemo项目中,所以web service就不用打包成aar,而是直接在/WEB-INF目录下创建相应的文件夹和services.xml,目录结构如下图:

    六、services.xml

    <?xml version="1.0" encoding="UTF-8"?>  
    <service name="fmService" targetNamespace="http://webservice.sinohuarui.com">
    	<schema schemaNamespace="http://webservice.sinohuarui.com/xsd/" />
    	<description>
    		my web service
    	</description>
    	<parameter name="ServiceClass">service.MyService</parameter>  
    	<operation name="sayHello">           
    		<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />      
    	</operation>
    </service>
    

    如果一个类具有多个webservice方法的时候,使用serviceGroup进行配置:

    <?xml version="1.0" encoding="UTF-8"?>  
    <serviceGroup>  
           <service name="myService">  
                  <description>Web Service例子</description>  
                  <parameter name="ServiceClass">service.MyService</parameter>  
                  <messageReceivers>  
                         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />  
                         <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />  
                  </messageReceivers>  
           </service>  
    </serviceGroup> 
    

    七、在浏览器中访问http://localhost:8080/WebServiceDemo/services/listServices

    可以看到myService服务,说明服务已部署成功

           输入http://localhost:8080/WebServiceDemo/services/myService?wsdl

           可以查看到该Web服务的描述文件

     

    其实,axis2-web下面的东西可以不要那么多,我就只保留了index.jsp,httpbase.jsp和listServices.jsp这三个文件,这样集成后的工程就瘦身了

  • 相关阅读:
    Python之路第二篇——Python环境与安装
    div层、fieldset分组标签、table表格的居中特效的综合运用
    在不影响系统的情况下给C盘添加磁盘空间(分区工具)
    C# windowsFroms更换皮肤的简单使用
    第二代居民身份证阅读器GTICR100(国腾)接口类调用方法
    C# 指定字符串截取方法
    C# 报表(report)和LocalReport类如何实现打印?
    RewriterURL实现二级域名的访问
    如何修改VS2012产品使用权属于某某的名称?
    OS与Internet
  • 原文地址:https://www.cnblogs.com/xinhudong/p/6411002.html
Copyright © 2011-2022 走看看