<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廣州

    配置好了環境,我們就可以進行編碼了.
    一: 建立一個普通的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()的方法提供給客戶端調用,返回類型是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>

    初看一下,有點復雜,我們先不管其中具體的配置是什么作用,看一下我們關注的:
    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是我們給服務起的名稱.下來的className就是我們寫的類的路徑.再往下就是允許調用的方法,這里是為全部.
    不算復雜吧!
    現在,可以啟動你的web服務器來看看建立的服務是否成功了.
    看一下我們在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/
    將會顯示你現在所有的服務!那么表示我們建立的服務已經成功.
    那下面就寫一個客戶端代碼調用我們的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????????????????//第一個參數是包名,也就是包名的倒敘(可有可無,因為上面的endpointURL已經指定了類),后面是方法名
    19????????????????QName?q?=?new?QName("",?"say");
    20????????????????call.setOperationName(?q?);
    21????????????????call.addParameter(?"arg1",?XMLType.XSD_STRING,?ParameterMode.IN);//傳參數
    22????????????????call.setReturnType(?XMLType.QNAME_FAULTACTOR);//設定返回參數
    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服務器還跑的時候,運行上面的代碼.自己看看結果吧.
    easy?

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

    評論

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

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


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


    網站導航:
     
    <2009年5月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    導航

    統計

    公告

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

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    夢境家園

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99视频全部免费精品全部四虎 | 无码国产精品一区二区免费I6| 久久精品国产亚洲精品| 美女露隐私全部免费直播| 精品久久免费视频| 亚洲日韩精品无码专区| 毛片免费在线视频| 亚洲爆乳AAA无码专区| 国产乱弄免费视频| 免费无毒a网站在线观看| 免费国产综合视频在线看| 麻豆亚洲AV成人无码久久精品| 成人超污免费网站在线看| 亚洲精品伊人久久久久| 热久久精品免费视频| 免费精品久久久久久中文字幕| 中文字幕在亚洲第一在线| 在线毛片片免费观看| 亚洲精品亚洲人成在线观看麻豆 | 日本亚洲精品色婷婷在线影院| 亚洲天堂免费在线| 亚洲精品乱码久久久久久蜜桃图片| 国产高清免费在线| 亚洲高清免费视频| 久久久久亚洲AV无码网站| 毛片免费在线观看网站| 深夜a级毛片免费视频| 国产亚洲精品一品区99热| 亚洲免费一级视频| 亚洲av永久无码一区二区三区| 亚洲国产成人精品91久久久| 中文字幕视频在线免费观看| 亚洲另类图片另类电影| 四虎永久免费地址在线观看| 免费无码黄网站在线看| 一本色道久久综合亚洲精品蜜桃冫| 免费一级一片一毛片| 精品国产麻豆免费人成网站| 色偷偷女男人的天堂亚洲网| 久久久青草青青国产亚洲免观| 亚洲视频免费在线观看|