<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)

    隨筆檔案

    文章分類

    文章檔案

    夢境家園

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产精品人人做人人爱| 成年性生交大片免费看| 亚洲一区二区三区乱码A| 亚洲高清乱码午夜电影网| 永久免费看bbb| 精品亚洲av无码一区二区柚蜜| 成人女人A级毛片免费软件| 亚洲jjzzjjzz在线播放| 成年女人视频网站免费m| 亚洲人成网站999久久久综合| 在线日韩av永久免费观看| 毛片亚洲AV无码精品国产午夜| 免费在线观看亚洲| 2022免费国产精品福利在线| 亚洲级αV无码毛片久久精品| 免费黄色电影在线观看| 亚洲欧洲日产专区| 女人18毛片水真多免费播放| 精品久久久久久亚洲综合网| 亚洲自偷自偷图片| 久久99国产乱子伦精品免费| 亚洲综合久久一本伊伊区| 国产免费怕怕免费视频观看| 男女一进一出抽搐免费视频| 亚洲v高清理论电影| 成年男女男精品免费视频网站| 国产午夜亚洲精品不卡免下载 | 国产一区二区三区在线观看免费| 女bbbbxxxx另类亚洲| 亚洲精品无码久久久久| 中国xxxxx高清免费看视频| 亚洲国产成人无码AV在线| 国产国拍亚洲精品福利| 亚洲国产精品免费在线观看| 亚洲av永久无码一区二区三区 | 久久精品国产99精品国产亚洲性色| 五月亭亭免费高清在线| 狠狠热精品免费观看| 精品亚洲aⅴ在线观看| 免费一级大黄特色大片| 91制片厂制作传媒免费版樱花|