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


                                                        
            精品伊人久久久| 国内精品人妻无码久久久影院导航| 精品久久久久久国产牛牛app | 久久精品免费一区二区三区| 久久久久亚洲AV无码去区首| 中文字幕亚洲综合久久2| 中文字幕亚洲综合久久| 久久91精品综合国产首页| 无码精品久久一区二区三区| 久久一区二区三区99| 国产精品久久久久aaaa| 久久久久高潮综合影院| 狠狠狠色丁香婷婷综合久久五月| 色播久久人人爽人人爽人人片AV| 99久久国产综合精品女同图片| 青青草国产成人久久91网| 四虎久久影院| 久久乐国产精品亚洲综合| 亚洲国产精品无码久久久蜜芽| 国产亚州精品女人久久久久久 | 亚洲国产高清精品线久久| 国产午夜福利精品久久| 精品国产青草久久久久福利| 日韩欧美亚洲综合久久影院d3| 精品国产乱码久久久久久浪潮| 99久久综合国产精品二区| 久久久久这里只有精品 | 蜜臀av性久久久久蜜臀aⅴ麻豆| 麻豆成人久久精品二区三区免费| 久久无码人妻一区二区三区 | 久久久这里只有精品加勒比| 久久性精品| 91性高湖久久久久| 日韩欧美亚洲综合久久| 7国产欧美日韩综合天堂中文久久久久| 91久久精品无码一区二区毛片| 伊人久久大香线蕉综合Av| 秋霞久久国产精品电影院| 伊人久久大香线蕉av不变影院| 91久久香蕉国产熟女线看| 久久国产乱子伦免费精品|