• <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 冰果 閱讀(1751) 評論(0)  編輯 收藏 引用

                                                        
            亚洲欧美成人久久综合中文网| 国产成人综合久久精品红| 日韩精品久久久久久久电影蜜臀| 国内精品久久久久久久久电影网| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 亚洲一区二区三区日本久久九| 久久国产乱子伦精品免费午夜| 精品久久久久久久久免费影院| 久久99精品国产| 亚洲欧洲精品成人久久曰影片| 久久国产精品一国产精品金尊| 久久国产视频网| 久久亚洲精品成人AV| 午夜精品久久影院蜜桃| 国产成年无码久久久久毛片| 中文字幕精品无码久久久久久3D日动漫 | 久久久久波多野结衣高潮| 久久精品这里热有精品| 久久久久久久波多野结衣高潮| 国产激情久久久久影院| 久久国产高清字幕中文| 色8久久人人97超碰香蕉987| 亚洲国产成人久久笫一页| 亚洲综合精品香蕉久久网97| 久久精品国产亚洲AV嫖农村妇女 | 一级做a爱片久久毛片| 亚洲中文字幕久久精品无码喷水| 久久天天躁狠狠躁夜夜av浪潮| 亚洲国产成人久久综合一| 国产产无码乱码精品久久鸭| 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 国内精品久久久久影院网站| 四虎国产精品免费久久久| 91精品国产91久久综合| 国产精品99久久免费观看| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久久久久久波多野结衣高潮| 久久久久国产精品人妻| 亚洲AV无码久久精品色欲| 人妻无码中文久久久久专区| 日本欧美久久久久免费播放网|