隨筆-75  評論-193  文章-5  trackbacks-0

          這個事情去年做過一次,不過沒有留下記錄,今天又要做一次,記錄下來,呵呵

          環(huán)境:

          Spring版本為1.2,Tomcat為5.5.26,JDK為Jdk1.5.0_11。

          1、下載Axis1.4,解壓后將其jar文件添加到web項目的lib目錄中。

          2、配置Axis Servlet,在web.xml文件中加入如下信息:

          <servlet>
             
          <servlet-name>AxisServlet</servlet-name>
             
          <servlet-class>
                  org.apache.axis.transport.http.AxisServlet
             
          </servlet-class>
          </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>

           
          3、編寫java類,樣例如下。

          接口:

          public interface InterchangeDataService {
             
          public String getMonthInterchange(String marketDate);
          }

          實現(xiàn)類:

          public class InterchangeDataServiceImpl extends ServletEndpointSupport implements InterchangeDataService {

             
          public InterchangeDataServiceImpl() {
              }

             
          public String getMonthInterchange(String marketDate) {
                  
          return "getMonthInterchange";
              }

          }

          注意實現(xiàn)類需要繼承ServletEndpointSupport類,該類是由Spring提供的。


          4、配置service-config.wsdd。

          <?xml version="1.0" encoding="utf-8"?>
          <deployment xmlns="http://xml.apache.org/axis/wsdd/"
              xmlns:java
          ="http://xml.apache.org/axis/wsdd/providers/java">
             
          <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
             
          <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
             
          <service name="interchangeDataService" provider="java:RPC" style="rpc" use="literal">
                 
          <parameter name="wsdlTargetNamespace" value="urn:soap.axisspring"/>
                 
          <parameter name="className" value="com.ecgit.eccm.webservice.InterchangeDataServiceImpl"/>
                 
          <parameter name="allowedMethods" value="*"/>
             
          </service>
             
          <transport name="http">
                 
          <requestFlow>
                     
          <handler type="URLMapper"/>
                     
          <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
                 
          </requestFlow>
                 
          <parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
                 
          <parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
                 
          <parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
             
          </transport>
             
          <transport name="local">
                 
          <responseFlow>
                     
          <handler type="LocalResponder"/>
                 
          </responseFlow>
             
          </transport>
          </deployment>

           
          5、測試web service服務(wù),代碼如下。

          至項目的WEB-INF目錄下,執(zhí)行如下命令:

          Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java http://localhost:8080/axis/services/interchangeDataService?WSDL

          會在WEB-INF目錄中生成四個JAVA文件,它們分別是:

          • InterchangeDataServiceImpl.java   定義了Web服務(wù)接口,接口中的方法與InterchangeDataService中的方法一致。
          • InterchangeDataServiceImplService.java 定義了用于獲取Web服務(wù)接口的方法。
          • InterchangeDataServiceImplServiceLocator.java 接口InterchangeDataServiceImplService的具體實現(xiàn)。
          • InterchangeDataServiceImplSoapBindingStub.java Web服務(wù)客戶端樁,通過該類與服務(wù)器交互。

          最后編寫一個Main方法,調(diào)用如下方法即可進行測試:

          InterchangeDataServiceImplServiceLocator serviceLocator = new InterchangeDataServiceImplServiceLocator();
          InterchangeDataServiceImpl service
          = serviceLocator.getinterchangeDataService();
          String monthSchedule
          = service.getMonthInterchange("2008-05-30");
          posted on 2008-12-19 17:16 The Matrix 閱讀(3424) 評論(1)  編輯  收藏 所屬分類: Java

          評論:
          # re: 使用Axis1.4、Spring在tomcat環(huán)境下提供web service服務(wù)[未登錄] 2008-12-20 13:08 | zxbyh
          不錯!!  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 高淳县| 芦溪县| 舞钢市| 徐水县| 息烽县| 桃园市| 南汇区| 宜兴市| 周口市| 文化| 青冈县| 涪陵区| 平谷区| 阿拉善盟| 当雄县| 涞水县| 宝鸡市| 白水县| 娄底市| 万安县| 康平县| 麻阳| 麦盖提县| 澎湖县| 广元市| 响水县| 乌苏市| 确山县| 抚顺县| 泸西县| 铁力市| 洱源县| 昌平区| 德清县| 永兴县| 土默特左旗| 新化县| 肇庆市| 兴业县| 曲靖市| 疏勒县|