• <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)  編輯 收藏 引用

                                                        
            三级三级久久三级久久 | 久久这里只有精品首页| 国产L精品国产亚洲区久久| 久久97久久97精品免视看秋霞| 久久无码精品一区二区三区| 亚洲中文久久精品无码| 国产精品九九久久精品女同亚洲欧美日韩综合区| 久久国产精品无码一区二区三区 | 欧美伊人久久大香线蕉综合69| 欧洲成人午夜精品无码区久久 | 97久久精品无码一区二区天美| 久久久久亚洲精品无码网址| 免费精品久久天干天干| 国产成人久久精品一区二区三区 | 热久久国产精品| 97久久精品人妻人人搡人人玩| 国产毛片久久久久久国产毛片| 欧美精品乱码99久久蜜桃| 久久精品中文字幕无码绿巨人| 久久久91人妻无码精品蜜桃HD| 99久久精品国产一区二区蜜芽| 久久综合九色综合网站| 久久se精品一区二区影院| 久久天堂AV综合合色蜜桃网 | 久久免费的精品国产V∧| 婷婷久久综合九色综合九七| 嫩草影院久久99| 久久精品人人做人人爽97| 久久久精品国产| 国内高清久久久久久| 精品久久国产一区二区三区香蕉| 久久久婷婷五月亚洲97号色| 亚洲日本va中文字幕久久| 亚洲精品无码久久不卡| 久久久久亚洲AV无码专区首JN| 麻豆成人久久精品二区三区免费| 亚洲国产小视频精品久久久三级 | 久久国产乱子伦免费精品| 久久国产亚洲精品| 久久精品国产亚洲av麻豆蜜芽 | 久久精品免费网站网|