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

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

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

    where the amazing happens

    以前寫(xiě)的關(guān)于apache axis的一篇文章

    大概1年多前,有個(gè)項(xiàng)目用到webservice,那時(shí)候研究axis時(shí)候的一些記錄,可以對(duì)比下現(xiàn)在的axis2或者xfire.

    ?????????????????????????????????????????????????????????WebService之a(chǎn)xis的復(fù)雜對(duì)象傳輸

    先自定義發(fā)布:
    寫(xiě)一個(gè)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>

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

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

    注冊(cè)復(fù)雜類(lèi)型的客戶端代碼:


    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,如果用錯(cuò)了axis會(huì)發(fā)出一大堆http500來(lái)抱怨的~~~

    附:自己寫(xiě)的一個(gè)類(lèi)來(lái)遠(yuǎn)程調(diào)用axis的服務(wù),省得一個(gè)個(gè)去service得call.
    axisGo.rar?(現(xiàn)在看來(lái)代碼十分簡(jiǎn)陋,那時(shí)接觸java還沒(méi)半年。不過(guò)作為一個(gè)關(guān)鍵的螺絲已經(jīng)運(yùn)行在學(xué)校的xx系統(tǒng)里面了,真的是幫了我很大的忙,還寫(xiě)了個(gè)遠(yuǎn)程通過(guò)WEB服務(wù)訪問(wèn)數(shù)據(jù)庫(kù)的orm工具,地獄一樣的代碼,到處是反射)

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

    評(píng)論

    # re: 以前寫(xiě)的關(guān)于apache axis的一篇文章 2006-12-15 10:31 ssad

    dfadsfds  回復(fù)  更多評(píng)論   


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    公告

    點(diǎn)擊這里給我發(fā)消息

    導(dǎo)航

    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    統(tǒng)計(jì)

    常用鏈接

    留言簿(3)

    隨筆分類(lèi)(18)

    隨筆檔案(17)

    文章分類(lèi)

    相冊(cè)

    其他我的blog

    技術(shù)Blog

    最新隨筆

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 色欲色香天天天综合网站免费| 成年在线网站免费观看无广告| 亚洲国产第一页www| 国产91免费视频| 无套内谢孕妇毛片免费看看 | 国产乱弄免费视频| 在线观看人成视频免费无遮挡| 亚洲综合久久久久久中文字幕| 亚洲视频在线观看地址| 永久免费观看的毛片的网站| 国产精品99爱免费视频| 色婷五月综激情亚洲综合| 久久精品夜色噜噜亚洲A∨| 久久久久久国产a免费观看黄色大片| 特级毛片A级毛片100免费播放 | 亚洲噜噜噜噜噜影院在线播放| 免费人成在线观看播放国产 | mm1313亚洲国产精品美女| 99在线在线视频免费视频观看| 国产成人亚洲精品蜜芽影院| 久久亚洲精品成人av无码网站| 成人伊人亚洲人综合网站222| 最近中文字幕完整版免费高清| 美女黄频免费网站| 亚洲av永久无码精品天堂久久| 亚洲AV无码成人专区片在线观看| 国产免费直播在线观看视频| 五月亭亭免费高清在线| 女人被男人躁的女爽免费视频| 免费久久人人爽人人爽av| 免费大片av手机看片| 最新亚洲精品国偷自产在线| 337p欧洲亚洲大胆艺术| 亚洲情XO亚洲色XO无码| 久操视频免费观看| 最新亚洲精品国偷自产在线| 亚洲视频2020| 亚洲国产精品一区第二页| 亚洲精品美女久久久久99小说| 永久免费看bbb| 色窝窝免费一区二区三区|