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

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

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

    where the amazing happens

    以前寫的關于apache axis的一篇文章

    大概1年多前,有個項目用到webservice,那時候研究axis時候的一些記錄,可以對比下現在的axis2或者xfire.

    ?????????????????????????????????????????????????????????WebService之axis的復雜對象傳輸

    先自定義發布:
    寫一個deploy.wsdd 文件:
    <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <service name="mShop" provider="java:RPC">
    <parameter name="className" value="tests.shop"/>
    <parameter name="allowedMethods" value="*"/>
    <typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    qname="ns1:book"
    serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
    type="java:tests.book"
    xmlns:ns1="http://127.0.0.1:8080/axis/services/mShop"/>

    </service>
    </deployment>

    服務發布后,以上的發布信息都會被添加到server-config.wsdd文件里~
    若服務發布出了什么問題(比如View里面看不到任何服務等……==!)一個考慮的就是這個server-config.wsdd~
    上面的高亮顯示,這是關鍵,它在server端定義如何序列化和反序列化complexType
    若沒有這個,那么你在客戶端registry.getDefaultTypeMapping()將什么都得不到~~

    這里的<typeMapping .../>定義了一個book對象,它是服務方法 public book[] getAllBooks() 的返回類型,類定義在tests.book,namespace是服務的namespace
    具體的wsdd文件說明在axisUserguide里面,具體位置 : %axis_home%/docs/reference.html
    以此類推,服務中所有的非原子類型返回都必須typeMapping一下~~~(= =!汗)

    注冊復雜類型的客戶端代碼:


    org.apache.axis.client.Service service = new org.apache.axis.client.Service();
    TypeMappingRegistry registry = service.getTypeMappingRegistry();
    TypeMapping map = registry.getDefaultTypeMapping();
    QName qType = new QName("http://localhost/tests","book");
    Class qClass = Class.forName("tests.book");
    map.register(qClass,qType,new BeanSerializerFactory(qClass, qType),
    new BeanDeserializerFactory(qClass, qType));

    要注意,Service是org.apache.axis.client.Service,而不是javax.xml.rpc.Service,如果用錯了axis會發出一大堆http500來抱怨的~~~

    附:自己寫的一個類來遠程調用axis的服務,省得一個個去service得call.
    axisGo.rar?(現在看來代碼十分簡陋,那時接觸java還沒半年。不過作為一個關鍵的螺絲已經運行在學校的xx系統里面了,真的是幫了我很大的忙,還寫了個遠程通過WEB服務訪問數據庫的orm工具,地獄一樣的代碼,到處是反射)

    posted on 2006-04-27 22:08 where the amazing happens 閱讀(1512) 評論(1)  編輯  收藏 所屬分類: 框架類庫

    評論

    # re: 以前寫的關于apache axis的一篇文章 2006-12-15 10:31 ssad

    dfadsfds  回復  更多評論   

    公告

    點擊這里給我發消息

    導航

    <2006年4月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    統計

    常用鏈接

    留言簿(3)

    隨筆分類(18)

    隨筆檔案(17)

    文章分類

    相冊

    其他我的blog

    技術Blog

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 精品免费久久久久久成人影院| 亚洲精品国产日韩无码AV永久免费网 | 国产综合激情在线亚洲第一页 | 免费人成网站在线观看10分钟| 亚洲视频一区调教| 精品视频一区二区三区免费| 国产AV无码专区亚洲A∨毛片| 免费久久人人爽人人爽av| 亚洲中文字幕无码一区二区三区 | 亚洲人成在线播放网站| 99久久免费国产精品热| 亚洲日韩精品射精日| 色欲国产麻豆一精品一AV一免费 | 999久久久免费精品播放| 日韩免费毛片视频| 免费人人潮人人爽一区二区| 亚洲电影日韩精品 | 国产一级特黄高清免费大片| 国产精品亚洲综合一区在线观看 | 一级日本高清视频免费观看| 国产成人亚洲精品青草天美| 最近免费最新高清中文字幕韩国| 久久久久亚洲爆乳少妇无| 怡红院免费全部视频在线视频| 久久夜色精品国产噜噜亚洲AV| 在线观看无码AV网站永久免费 | 亚洲欧洲日产国码久在线观看| 5g影院5g天天爽永久免费影院| 亚洲日本成本人观看| 又粗又硬又大又爽免费视频播放| 亚洲黄色免费电影| 成全视频免费高清 | 亚洲第一页日韩专区| 99热这里有免费国产精品| 亚洲日韩精品无码专区加勒比☆| 亚洲乱码中文字幕手机在线 | 中文文字幕文字幕亚洲色| 啊v在线免费观看| 无码国产精品一区二区免费16| 亚洲午夜福利在线视频| 在线观看亚洲成人|