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

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

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

    where the amazing happens

    以前寫的關(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ā)布:
    寫一個(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() 的返回類型,類定義在tests.book,namespace是服務(wù)的namespace
    具體的wsdd文件說(shuō)明在axisUserguide里面,具體位置 : %axis_home%/docs/reference.html
    以此類推,服務(wù)中所有的非原子類型返回都必須typeMapping一下~~~(= =!汗)

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


    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)抱怨的~~~

    附:自己寫的一個(gè)類來(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)里面了,真的是幫了我很大的忙,還寫了個(gè)遠(yuǎn)程通過(guò)WEB服務(wù)訪問(wèn)數(shù)據(jù)庫(kù)的orm工具,地獄一樣的代碼,到處是反射)

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

    評(píng)論

    # re: 以前寫的關(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)航

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計(jì)

    常用鏈接

    留言簿(3)

    隨筆分類(18)

    隨筆檔案(17)

    文章分類

    相冊(cè)

    其他我的blog

    技術(shù)Blog

    最新隨筆

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 国产日韩AV免费无码一区二区三区| 亚洲另类无码专区首页| 成人无码精品1区2区3区免费看| 四虎影院免费视频| 亚洲欧美日本韩国| 四虎永久在线精品免费影视 | 久久精品国产精品亚洲艾 | 老司机亚洲精品影院在线观看| 国产v精品成人免费视频400条| 亚洲乱码一二三四区国产| 国国内清清草原免费视频99| 亚洲日韩精品无码AV海量| 日本免费一区二区三区最新vr| 亚洲精品蜜夜内射| 国产精品久免费的黄网站| 美女被吸屁股免费网站| 久久精品国产亚洲Aⅴ香蕉| 日韩av无码免费播放| 亚洲色图.com| 精品国产免费观看一区| 无码精品人妻一区二区三区免费| 亚洲精品无码久久千人斩| 日韩av无码久久精品免费| 亚洲成aⅴ人片在线影院八| 女人张腿给男人桶视频免费版| 亚洲av无码片vr一区二区三区| 久久亚洲国产精品123区| 中文字幕亚洲免费无线观看日本| 亚洲人成色77777在线观看| 亚洲av午夜成人片精品电影| 国产亚洲精品免费视频播放| 亚洲欧洲精品久久| 国产成人无码区免费A∨视频网站| 在线免费视频你懂的| 亚洲国产成人精品电影| 免费人成网站在线高清| 在线观看免费中文视频| 亚洲AV无码一区二区大桥未久| 黑人大战亚洲人精品一区| 免费看黄视频网站| 国产免费一级高清淫曰本片|