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

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

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

    半生心半生緣

    JAVA人生篇章

    axis入門之代碼篇(1)

    jacky于2006廣州

    配置好了環(huán)境,我們就可以進(jìn)行編碼了.
    一: 建立一個普通的java類做我們的server
    1package?com.test.service;
    2
    3public?class?TestServer?{
    4?public?String?say(String?arg)?{
    5????????System.out.println("some?one?call?me!");
    6????????return?arg;
    7????}

    8}
    這個類定義一個say()的方法提供給客戶端調(diào)用,返回類型是String.
    ok,這個類是最簡單不過了.
    下面建立我們的部署文件:WEB-INF/server-config.wsdd
    ?1<?xml?version="1.0"?encoding="UTF-8"?>
    ?2<deployment?xmlns="http://xml.apache.org/axis/wsdd/"?xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    ?3?<globalConfiguration>
    ?4??<parameter?name="adminPassword"?value="admin"/>
    ?5??<parameter?name="attachments.Directory"?value="C:\eclipse\workspace\bookstore\WEB-INF\attachments"/>
    ?6??<parameter?name="attachments.implementation"?value="org.apache.axis.attachments.AttachmentsImpl"/>
    ?7??<parameter?name="sendXsiTypes"?value="true"/>
    ?8??<parameter?name="sendMultiRefs"?value="true"/>
    ?9??<parameter?name="sendXMLDeclaration"?value="true"/>
    10??<parameter?name="axis.sendMinimizedElements"?value="true"/>
    11??<requestFlow>
    12???<handler?type="java:org.apache.axis.handlers.JWSHandler">
    13????<parameter?name="scope"?value="session"/>
    14???</handler>
    15???<handler?type="java:org.apache.axis.handlers.JWSHandler">
    16????<parameter?name="scope"?value="request"/>
    17????<parameter?name="extension"?value=".jwr"/>
    18???</handler>
    19??</requestFlow>
    20?</globalConfiguration>
    21?<handler?name="LocalResponder"?type="java:org.apache.axis.transport.local.LocalResponder"/>
    22?<handler?name="Authenticate"?type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
    23?<handler?name="URLMapper"?type="java:org.apache.axis.handlers.http.URLMapper"/>
    24?<service?name="Version"?provider="java:RPC">
    25??<parameter?name="allowedMethods"?value="getVersion"/>
    26??<parameter?name="className"?value="org.apache.axis.Version"/>
    27?</service>
    28??<service?name="TestServer"?provider="java:RPC">
    29??<parameter?name="className"?value="com.test.service.TestServer"/>
    30??<parameter?name="allowedMethods"?value="*"/>
    31??
    32?</service>
    33?<service?name="AdminService"?provider="java:MSG">
    34??<parameter?name="allowedMethods"?value="AdminService"/>
    35??<parameter?name="enableRemoteAdmin"?value="false"/>
    36??<parameter?name="className"?value="org.apache.axis.utils.Admin"/>
    37??<namespace>http://xml.apache.org/axis/wsdd/</namespace>
    38?</service>
    39?<transport?name="local">
    40??<responseFlow>
    41???<handler?type="LocalResponder"/>
    42??</responseFlow>
    43?</transport>
    44?<transport?name="http">
    45??<requestFlow>
    46???<handler?type="URLMapper"/>
    47???<handler?type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
    48??</requestFlow>
    49?</transport>
    50?
    51
    52</deployment>

    初看一下,有點復(fù)雜,我們先不管其中具體的配置是什么作用,看一下我們關(guān)注的:
    1<service?name="TestServer"?provider="java:RPC">
    2??<parameter?name="className"?value="com.test.service.TestServer"/>
    3??<parameter?name="allowedMethods"?value="*"/>??
    4?</service>
    這一段就是我們配置的service.name是我們給服務(wù)起的名稱.下來的className就是我們寫的類的路徑.再往下就是允許調(diào)用的方法,這里是為全部.
    不算復(fù)雜吧!
    現(xiàn)在,可以啟動你的web服務(wù)器來看看建立的服務(wù)是否成功了.
    看一下我們在web.xml里配置的這么一段:
    1<servlet-mapping>
    2????????<servlet-name>AxisServlet</servlet-name>
    3????????<url-pattern>/services/*</url-pattern>
    4????</servlet-mapping>
    知道什么意思了嗎,就是從/services/請求的地址都是我們的service.
    從瀏覽器中瀏覽:
    http://localhost/WebService/services/
    將會顯示你現(xiàn)在所有的服務(wù)!那么表示我們建立的服務(wù)已經(jīng)成功.
    那下面就寫一個客戶端代碼調(diào)用我們的service.
    ?1?????public?static?void?main(String?[]?args)
    ?2????????{
    ?3????????????try?{
    ?4????????????????Options?options?=?new?Options(args);
    ?5????????????????
    ?6????????????????String?endpointURL?=?"http://localhost/WebService/services/TestServer";//options.getURL();
    ?7????????????????String?textToSend;
    ?8????????????????
    ?9????????????????args?=?options.getRemainingArgs();
    10????????????????
    11????????????????textToSend?=?"哈哈";
    12????????????????
    13????????????????Service??service?=?new?Service();
    14????????????????Call?call??=?(Call)?service.createCall();
    15?????????????
    16????????????????call.setTargetEndpointAddress(?new?java.net.URL(endpointURL)?);
    17???????????????
    18????????????????//第一個參數(shù)是包名,也就是包名的倒敘(可有可無,因為上面的endpointURL已經(jīng)指定了類),后面是方法名
    19????????????????QName?q?=?new?QName("",?"say");
    20????????????????call.setOperationName(?q?);
    21????????????????call.addParameter(?"arg1",?XMLType.XSD_STRING,?ParameterMode.IN);//傳參數(shù)
    22????????????????call.setReturnType(?XMLType.QNAME_FAULTACTOR);//設(shè)定返回參數(shù)
    23
    24????????????????String?ret?=?(String)?call.invoke(?new?Object[]?{?textToSend?}?);
    25????????????????
    26????????????????System.out.println("返回的東西?:?"?+?ret?);
    27????????????????
    28????????????}
    ?catch?(Exception?e)?{
    29????????????????System.err.println(e.toString());
    30????????????}

    31????????}

    32}
    在你的web服務(wù)器還跑的時候,運行上面的代碼.自己看看結(jié)果吧.
    easy?

    posted on 2006-04-29 18:02 jackyhuang 閱讀(906) 評論(1)  編輯  收藏

    評論

    # re: axis入門之代碼篇(1) 2009-05-21 10:34 redcoatjk

    很可惜這一段寫的有點亂了  回復(fù)  更多評論   


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


    網(wǎng)站導(dǎo)航:
     
    <2006年4月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導(dǎo)航

    統(tǒng)計

    公告

    2006年4月29號凌晨0點開通我的blog http://www.1001m.com

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    夢境家園

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲AV无码一区二区三区性色| 亚洲无删减国产精品一区| 久久综合久久综合亚洲| 少妇人妻偷人精品免费视频 | A在线观看免费网站大全| 亚洲第一精品在线视频| 久久青草国产免费观看| 亚洲AV福利天堂一区二区三| 毛片在线全部免费观看| 亚洲精品在线观看视频| 99xxoo视频在线永久免费观看| 亚洲情a成黄在线观看动漫尤物| 久久国产乱子免费精品| 亚洲色偷偷av男人的天堂| 99re免费视频| 亚洲国产中文在线视频| 成熟女人牲交片免费观看视频| 久久亚洲精品国产亚洲老地址 | 国产精品久久久久久亚洲小说| 黑人粗长大战亚洲女2021国产精品成人免费视频| 亚洲av专区无码观看精品天堂| 四虎成人精品一区二区免费网站| 国产精品国产亚洲区艳妇糸列短篇| 四虎永久免费影院| 久久www免费人成看国产片| 亚洲AV无码一区东京热| 最好看最新的中文字幕免费| 国产成人精品日本亚洲18图 | 亚洲区小说区图片区QVOD| 日韩精品无码免费专区午夜| 精品亚洲成AV人在线观看| 成人在线免费看片| 在线观看国产一区亚洲bd| 中文字幕亚洲综合久久菠萝蜜| 精品一区二区三区免费毛片爱 | 亚洲av中文无码| 两个人看的www视频免费完整版| 亚洲视频中文字幕| 超pen个人视频国产免费观看| 黄色视屏在线免费播放| 亚洲第一永久在线观看|