• <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>

            冰果

            技術(shù)群:26678700     
            交流QQ: 704839634
            合作: 1) 可兼職遠(yuǎn)程辦公開發(fā); 2) 有一套Go+Python開發(fā)的行業(yè)短信云平臺(tái)可合作;3)目前正在開發(fā)物聯(lián)網(wǎng)、大數(shù)據(jù)平臺(tái)。

            WSDL2Java操作指南

            1. 安裝JDK1.5, 配置系統(tǒng)環(huán)境變量:
               下載安裝JDK后, 設(shè)置環(huán)境變量:
               JAVA_HOME=C:\Program Files\Java\jdk1.5.0_02
               Path=%Path%;%JAVA_HOME%\bin(這里的%Path%指你系統(tǒng)已經(jīng)有的一系列配置)
               CLASSPATH=%JAVA_HOME%\lib
            2. 下載axis, 配置系統(tǒng)環(huán)境變量:
               下載axis后,配置如下:
               AXIS_LIB=F:\Java\axis\axis-1_4\lib
               然后在CLASSPATH里添加axis的8個(gè)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個(gè)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服務(wù)器端的代碼:
               5.1 先看命令的幫助, 在cmd.exe的提示符執(zhí)行:java org.apache.axis.wsdl.WSDL2Java -h
                   我可以看到很多選項(xiàng),其中就有-s和-S
               5.2 執(zhí)行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 執(zhí)行WSDL2Java, 不生成skeleton類:
                   java org.apache.axis.wsdl.WSDL2Java -s BluePower.wsdl
                   將生成:  
                              An implementation template class
                              One deploy.wsdd file
                              One undeploy.wsdd file
                   (我們發(fā)現(xiàn)少了一個(gè)A skeleton class)
               5.4 名字解釋:
               Skeleton class:
                  它是Axis engine 和 the actual service implementation 類之間的一個(gè)代理類。
                   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:
                   它就是我們的實(shí)際服務(wù)器端的實(shí)現(xiàn)代碼,我們要在不同的方法里寫具體的實(shí)現(xiàn)處理。
                  
            6. 根據(jù)deploy.wsdd生成server-config.wsdd:
              這里比較模糊,我暫時(shí)的方法是:
              先部署一個(gè)web服務(wù)器,如用resin,然后把第5步生成的類文件放到classes下(eclipse可以指定編譯路徑),
              把deploy.wsdd放到classes上一目錄,也就是WEB-INF下,運(yùn)行命令:
              java -cp %AXIS_CLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/test/services/MyServer deploy.wsdd
              若出現(xiàn):<Admin>Done processing</Admin>則成功,若出現(xiàn)失敗,則具體情況具體分析。
              成功后,當(dāng)前目錄就會(huì)生成server-config.wsdd文件。
              注意:為什么這里用%AXIS_CLASSPATH%, 因?yàn)橹苯影堰@些jar配置在CLASSPATH里,調(diào)用log4j時(shí)有沖突。最好不要放到CLASSPATH
             
            7. server-config.wsdd文件里的未解決的數(shù)組類型問(wèn)題:
              若接口參數(shù)或返回值有數(shù)組,則會(huì)生成ArrayMapping的配置,而在resin下配置axis的servlet去裝載,就是不行。
              暫時(shí)的解決方法是,把這些數(shù)組類型就聲明為一般類型,就能裝載了;客戶端用數(shù)組類型訪問(wèn),服務(wù)器也能正常
              解析出來(lái),返回給客戶端的數(shù)組類型,客戶端也能正常解析。

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


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


                                                        
            久久精品国产亚洲av麻豆蜜芽| 精品久久久久久无码免费| 日本精品久久久久久久久免费| 欧美精品福利视频一区二区三区久久久精品 | 青青草原1769久久免费播放| 国产精品伦理久久久久久| 一级女性全黄久久生活片免费| 久久影院综合精品| 欧美亚洲日本久久精品| 9久久9久久精品| 中文字幕乱码人妻无码久久| 99久久精品免费观看国产| 久久伊人五月丁香狠狠色| 国产亚州精品女人久久久久久 | 久久99精品久久久久久hb无码| 超级碰久久免费公开视频| 午夜精品久久久久久久久| 国产激情久久久久影院| 久久精品国产亚洲AV香蕉| 色婷婷久久综合中文久久一本| 国产精品久久久久9999高清| 久久精品久久久久观看99水蜜桃| 国产成人精品久久一区二区三区av| 五月丁香综合激情六月久久| 尹人香蕉久久99天天拍| 国产巨作麻豆欧美亚洲综合久久 | 欧美伊人久久大香线蕉综合69| 97久久精品人妻人人搡人人玩| 亚洲va久久久噜噜噜久久狠狠| 亚洲国产视频久久| 精品久久久久一区二区三区| 97久久国产亚洲精品超碰热 | 久久国产免费直播| 久久九色综合九色99伊人| 国产一区二区精品久久| 国产精品岛国久久久久| 国产午夜精品久久久久免费视| 人妻无码久久一区二区三区免费| 亚洲午夜久久久影院| 一本一本久久A久久综合精品| 日韩精品久久无码人妻中文字幕|