<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Kimi's NutShell

    我荒廢的今日,正是昨日殞身之人祈求的明日

    BlogJava 新隨筆 管理
      141 Posts :: 0 Stories :: 75 Comments :: 0 Trackbacks

    (CSdn上面的一個例程:http://topic.csdn.net/t/20050422/17/3959160.html)

    AXIS實現web服務配置部署簡要流程
    1:編寫服務器端接口,并在<webapp>/WEB-INF/classes下編譯。

    ?????? javac –d . *.java

    2:在%APP_HOME%/webapp/WEB-INF目錄下創建server-config.wsdd(AXIS配置文件,所有web服務都要在該文件中注冊)文件。形如:

    <?xml version="1.0" encoding="UTF-8"?>
    <deployment xmlns="??????????????????? <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>?
    ??????????????????? <parameter name="sendXsiTypes" value="true"/>?
    ??????????????????? <parameter name="sendMultiRefs" value="true"/>?
    ??????????????????? <parameter name="sendXMLDeclaration" value="true"/>?
    ??????????????????? <parameter name="axis.sendMinimizedElements" value="true"/>?
    ??????????????????? <requestFlow>??
    ?????????????????????????????? <handler type="java:org.apache.axis.handlers.JWSHandler">???
    ???????????????????????????????????????? <parameter name="scope" value="session"/>??
    ?????????????????????????????? </handler>??
    ?????????????????????????????? <handler type="java:org.apache.axis.handlers.JWSHandler">???
    ???????????????????????????????????????? <parameter name="scope" value="request"/>???
    ???????????????????????????????????????? <parameter name="extension" value=".jwr"/>??
    ?????????????????????????????? </handler>?
    ??????????????????? </requestFlow>
    ????????? </globalConfiguration>
    ????????? <handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
    ????????? <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
    ????????? <handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>??
    ?
    ????????? <service name="login" provider="java:RPC">?
    ??????????????????? <!-- 服務類名 -->????
    ??????????????????? <parameter name="className" value="com.test.service.loginService"/>?
    ??????????????????? <!-- 允許訪問所有方法 -->?
    ??????????????????? <parameter name="allowedMethods" value="*"/>
    ????????? </service>?
    ????????? <transport name="http">?
    ??????????????????? <requestFlow>??
    ?????????????????????????????? <handler type="URLMapper"/>??
    ?????????????????????????????? <handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>?
    ??????????????????? </requestFlow>
    ????????? </transport>
    ????????? <transport name="local">?
    ??????????????????? <responseFlow>??
    ?????????????????????????????? <handler type="LocalResponder"/>?
    ??????????????????? </responseFlow>
    ????????? </transport>
    </deployment>

    ?


    ?


    注:server-config.wsdd文件也可以通過編寫deploy.wsdd文件生成,具體方法為,在%APP_HOME%/webapp/WEB-INF目錄下創建deploy.wsdd文件(SOAP發布描述文件),形如:

    <deployment xmlns="??????? <parameter name="className" value="LoginService"/>
    ??????? <parameter name="allowedMethods" value="*"/>
    ??? </service>
    </deployment>
    然后將相應服務器端class編譯后在命令行輸入:

    java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
    將在當前目錄下生成server-config.wsdd文件。


    完成以上操作后,可在瀏覽器中通過
    http://localhost:8080/axis/services/login?wsdl 訪問該服務。
    ?


    3:JAVA客戶端實現:

    可以通過AXIS中的org.apache.axis.wsdl.WSDL2Java類將已發布的web服務進行客戶端實例化,具體命令為:在%APP_HOME%/webapp/WEB-INF目錄下命令行輸入:

    Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java url[YiWang1]

    ?

    命令執行后會在本地當前目錄下生成以url為模版的package目錄層次結構(如:local.axis.service.*),該目錄中針對每個服務器端接口會自動生成4個本地類。

    其中:

    ?????? inferface LoginService在客戶端本地定義服務器接口的映射。

    ?????? interface LoginServiceService定義了用于獲得web服務的getter方法。

    ?????? class LoginServiceServiceLocator具體實現LoginServiceService接口,保存了服務器的url等相關信息。

    ?????? class LoginSoapBindingStub 具體實現LoginService,負責服務器交互。

    ?


    (部署了web服務之后,如果接口不變而url發生改變,可以直接在客戶端更新LoginServiceServiceLocator中有關服務器地址的相關信息,或者用配置文件的形式修改)

    編譯以上幾個類時需要axis.jar,jaxrpc.jar兩個包,命令為:

    ? javac -classpath lib\axis.jar;lib\jaxrpc.jar –d . *.java
    編譯成class后可以通過jar命令打包作為接口部署在客戶端。


    客戶端測試例程:

    ?????? 如果通過java應用程序形式進行測試,命令為:

    ??????? java -Djava.ext.dirs=lib -cp . package.class


    --------------------------------------------------------------------------------

    ?[YiWang1]服務器通過Wsdl形式發布的web服務的完整url地址。

    posted on 2006-10-13 09:54 Kimi 閱讀(307) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: A国产一区二区免费入口| 人人狠狠综合久久亚洲| 免费无码av片在线观看| 亚洲中文字幕无码一区| 精品国产污污免费网站入口 | 午夜免费国产体验区免费的| 国产一区二区三区在线免费观看| 欧美色欧美亚洲另类二区| 免费A级毛片无码A∨男男| 美女视频黄频a免费| 亚洲国产日韩在线观频| www.xxxx.com日本免费| 亚洲色中文字幕无码AV| 久久青草免费91线频观看站街| 久久夜色精品国产亚洲AV动态图 | 女人被男人桶得好爽免费视频| 亚洲日韩精品无码专区加勒比 | 亚洲中文字幕久在线| 成人无码区免费视频观看| 国产偷国产偷亚洲清高APP| 亚洲国产一成久久精品国产成人综合 | 全部免费a级毛片| 久久国产一片免费观看| 国产成人亚洲综合色影视| 3344免费播放观看视频| 亚洲欧美精品午睡沙发| 亚洲精品国产va在线观看蜜芽| 免费一级毛片在线播放视频| 亚洲国产精品久久丫| 免费播放特黄特色毛片| 成人网站免费看黄A站视频| 亚洲最大的黄色网| 亚洲国产专区一区| 一级毛片免费观看不卡视频| 久久久久se色偷偷亚洲精品av | 麻豆亚洲AV永久无码精品久久 | 亚洲综合激情视频| 免费在线观看日韩| 99国产精品免费视频观看| 亚洲欧美成人av在线观看| 亚洲中文字幕无码久久综合网 |