• <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è)短信云平臺可合作;3)目前正在開發(fā)物聯(lián)網(wǎng)、大數(shù)據(jù)平臺。

            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個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服務(wù)器端的代碼:
               5.1 先看命令的幫助, 在cmd.exe的提示符執(zhí)行:java org.apache.axis.wsdl.WSDL2Java -h
                   我可以看到很多選項,其中就有-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)少了一個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:
                   它就是我們的實際服務(wù)器端的實現(xiàn)代碼,我們要在不同的方法里寫具體的實現(xiàn)處理。
                  
            6. 根據(jù)deploy.wsdd生成server-config.wsdd:
              這里比較模糊,我暫時的方法是:
              先部署一個web服務(wù)器,如用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
              若出現(xiàn):<Admin>Done processing</Admin>則成功,若出現(xiàn)失敗,則具體情況具體分析。
              成功后,當(dāng)前目錄就會生成server-config.wsdd文件。
              注意:為什么這里用%AXIS_CLASSPATH%, 因為直接把這些jar配置在CLASSPATH里,調(diào)用log4j時有沖突。最好不要放到CLASSPATH
             
            7. server-config.wsdd文件里的未解決的數(shù)組類型問題:
              若接口參數(shù)或返回值有數(shù)組,則會生成ArrayMapping的配置,而在resin下配置axis的servlet去裝載,就是不行。
              暫時的解決方法是,把這些數(shù)組類型就聲明為一般類型,就能裝載了;客戶端用數(shù)組類型訪問,服務(wù)器也能正常
              解析出來,返回給客戶端的數(shù)組類型,客戶端也能正常解析。

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


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


                                                        
            要久久爱在线免费观看| 99麻豆久久久国产精品免费| 国产亚洲欧美成人久久片| 精品久久人人爽天天玩人人妻| 亚洲午夜精品久久久久久app| 男女久久久国产一区二区三区| 久久国产免费观看精品| 亚洲精品高清一二区久久| 蜜臀久久99精品久久久久久小说| 国产视频久久| 国产精品日韩深夜福利久久| 久久久一本精品99久久精品88| 99久久国产热无码精品免费久久久久| 精品乱码久久久久久久| 久久亚洲精品成人AV| 无码人妻少妇久久中文字幕| 久久人搡人人玩人妻精品首页| 国内精品久久久久久久涩爱| 国产亚洲精品久久久久秋霞| 久久精品aⅴ无码中文字字幕不卡| WWW婷婷AV久久久影片| 久久夜色精品国产噜噜噜亚洲AV| 中文成人无码精品久久久不卡 | 久久综合精品国产二区无码| 国産精品久久久久久久| 国产69精品久久久久9999| 久久精品国产清高在天天线| 99久久精品毛片免费播放| 伊人久久久AV老熟妇色| 四虎影视久久久免费观看| 久久久久亚洲AV成人网人人网站 | 久久一区二区免费播放| 久久精品国产精品亚洲| 亚洲欧美日韩精品久久亚洲区| 99久久国产主播综合精品| 91精品国产综合久久婷婷| 99久久国产综合精品麻豆| 国产精品久久久久…| 伊人久久大香线蕉精品| 国产精品99久久精品爆乳| 久久久久亚洲AV无码专区网站|