• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            冰果

            技術群:26678700     
            交流QQ: 704839634
            合作: 1) 可兼職遠程辦公開發; 2) 有一套Go+Python開發的行業短信云平臺可合作;3)目前正在開發物聯網、大數據平臺。

            WSDL2Java操作指南

            1. 安裝JDK1.5, 配置系統環境變量:
               下載安裝JDK后, 設置環境變量:
               JAVA_HOME=C:\Program Files\Java\jdk1.5.0_02
               Path=%Path%;%JAVA_HOME%\bin(這里的%Path%指你系統已經有的一系列配置)
               CLASSPATH=%JAVA_HOME%\lib
            2. 下載axis, 配置系統環境變量:
               下載axis后,配置如下:
               AXIS_LIB=F:\Java\axis\axis-1_4\lib
               然后在CLASSPATH里添加axis的8個jar:
               CLASSPATH=%JAVA_HOME%\lib;
             %AXIS_LIB%\axis.jar;
             %AXIS_LIB%\axis-ant.jar;
             %AXIS_LIB%\commons-discovery-0.2.jar;
             %AXIS_LIB%\commons-logging-1.0.4.jar;
             %AXIS_LIB%\jaxrpc.jar;
             %AXIS_LIB%\log4j-1.2.8.jar;
             %AXIS_LIB%\saaj.jar;
             %AXIS_LIB%\wsdl4j-1.5.1.jar;
              
            3. 添加附加的3個jar:
               自己去獲取activation.jar, mail.jar, xerces.jar, 放到AXIS_LIB所指的目錄下,
            然后在CLASSPATH里添加:
               CLASSPATH=%JAVA_HOME%\lib;
             %AXIS_LIB%\axis.jar;
             %AXIS_LIB%\axis-ant.jar;
             %AXIS_LIB%\commons-discovery-0.2.jar;
             %AXIS_LIB%\commons-logging-1.0.4.jar;
             %AXIS_LIB%\jaxrpc.jar;
             %AXIS_LIB%\log4j-1.2.8.jar;
             %AXIS_LIB%\saaj.jar;
             %AXIS_LIB%\wsdl4j-1.5.1.jar;
             %AXIS_LIB%\activation.jar;
             %AXIS_LIB%\mail.jar;
             %AXIS_LIB%\xerces.jar
            4. 獲取或者自己編寫wsdl文件
            5. 生成webservice服務器端的代碼:
               5.1 先看命令的幫助, 在cmd.exe的提示符執行:java org.apache.axis.wsdl.WSDL2Java -h
                   我可以看到很多選項,其中就有-s和-S
               5.2 執行WSDL2Java, 生成skeleton類:
                   java org.apache.axis.wsdl.WSDL2Java -s -S true BluePower.wsdl
                   將生成:  A skeleton class
                              An implementation template class
                              One deploy.wsdd file
                              One undeploy.wsdd file
               5.3 執行WSDL2Java, 不生成skeleton類:
                   java org.apache.axis.wsdl.WSDL2Java -s BluePower.wsdl
                   將生成:  
                              An implementation template class
                              One deploy.wsdd file
                              One undeploy.wsdd file
                   (我們發現少了一個A skeleton class)
               5.4 名字解釋:
               Skeleton class:
                  它是Axis engine 和 the actual service implementation 類之間的一個代理類。
                   The skeleton contains an implementation of the AddressBook service.
                   This implementation is either passed into the skeleton on construction,
                   or an instance of the generated implementation is created.
                   When the Axis engine calls the skeleton's addEntry method,
                   it simply delegates the invocation to the real implementation's addEntry method.
               Implementation Template class:
                   它就是我們的實際服務器端的實現代碼,我們要在不同的方法里寫具體的實現處理。
                  
            6. 根據deploy.wsdd生成server-config.wsdd:
              這里比較模糊,我暫時的方法是:
              先部署一個web服務器,如用resin,然后把第5步生成的類文件放到classes下(eclipse可以指定編譯路徑),
              把deploy.wsdd放到classes上一目錄,也就是WEB-INF下,運行命令:
              java -cp %AXIS_CLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/test/services/MyServer deploy.wsdd
              若出現:<Admin>Done processing</Admin>則成功,若出現失敗,則具體情況具體分析。
              成功后,當前目錄就會生成server-config.wsdd文件。
              注意:為什么這里用%AXIS_CLASSPATH%, 因為直接把這些jar配置在CLASSPATH里,調用log4j時有沖突。最好不要放到CLASSPATH
             
            7. server-config.wsdd文件里的未解決的數組類型問題:
              若接口參數或返回值有數組,則會生成ArrayMapping的配置,而在resin下配置axis的servlet去裝載,就是不行。
              暫時的解決方法是,把這些數組類型就聲明為一般類型,就能裝載了;客戶端用數組類型訪問,服務器也能正常
              解析出來,返回給客戶端的數組類型,客戶端也能正常解析。

            posted on 2010-12-19 00:09 冰果 閱讀(1745) 評論(0)  編輯 收藏 引用

                                                        
            国产成人久久精品激情| 久久精品无码一区二区app| 无码人妻久久一区二区三区蜜桃| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久精品aⅴ无码中文字字幕不卡| 精品久久久无码21p发布| 99久久国产热无码精品免费| 久久精品女人天堂AV麻| 久久精品黄AA片一区二区三区| 国内精品伊人久久久久影院对白 | 久久亚洲私人国产精品vA| 亚洲国产成人久久精品动漫| 九九精品久久久久久噜噜| 日本久久久久久中文字幕| 一本一道久久a久久精品综合| 99999久久久久久亚洲| 亚洲国产成人久久一区久久| 99久久婷婷国产综合亚洲| 久久99精品国产麻豆宅宅| 久久久久一级精品亚洲国产成人综合AV区| 亚洲国产另类久久久精品黑人| 99久久综合狠狠综合久久| 一本久久a久久精品vr综合| 久久久久久噜噜精品免费直播| 久久超碰97人人做人人爱| 国产亚洲美女精品久久久2020| 久久久久亚洲精品无码网址| 亚洲国产成人久久精品动漫| 精品国产乱码久久久久久郑州公司| 亚洲人AV永久一区二区三区久久| 精品久久久久久久久久中文字幕| 久久精品国产99国产精品澳门| 人妻无码αv中文字幕久久| 国内高清久久久久久| 久久99精品久久久大学生| 久久精品国产AV一区二区三区| 亚洲伊人久久综合影院| 亚洲精品综合久久| 久久99久久99精品免视看动漫| 国产成人无码精品久久久性色| 国产成人精品综合久久久久|