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

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

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

    Terry.Li-彬

    虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
    我比較懶惰,不想把user guide全部翻譯,就記錄一些點吧。
      
      Axis2是全新設計的,在2004年的“Axis峰會”上,大家決定采用新的架構來讓Axis更加的富有彈性,更有效率,并且更加的可配置。Axis2現在具有的一些feature:
      Speed
      Low memory foot print
      AXIOM - AXis Object Model
      Hot Deployment
      Asynchronous Web Services
      MEP Support - Message Exchange Patterns
      Flexibility
      Stability
      Component-oriented deployment
      Transport framework
      WSDL support
      
      有些feature現在看不懂,還是先動手做一下,感性認識一下吧
      
      第一步:下載AXIS2。http://ws.apache.org/axis2/download.cgi。很有趣,在apache的Web Service 的Project目錄下面還看不到AXIS2。要下那個binary的版本,因為里面有例程。
      
      第二步:Copy axis2.war到$TOMCAT_HOME/webapps目錄下面。Tomcat好像只能用JDK1.4,我在JDK1.5 用不出來。
      
      第三步:打開 http://localhost:8080/axis2,就可以看到axis2的Welcome頁面了。點一下Validate 和Services,看是不是都沒有錯誤。都沒有錯誤的話,就表示deploy成功了。那個adminstration頁面可以通過上傳文件來hot deploy Web service,可以用來remote deploy。
      
      第四步:研究例程。先從"samples/userguide/src"目錄下的例程看起。看到寫一個web service很簡單嘛:
      
      public class MyService {
      public OMElement echo(OMElement element) throws XMLStreamException {
      //Praparing the OMElement so that it can be attached to another OM Tree.
      //First the OMElement should be completely build in case it is not fully built and still
      //some of the xml is in the stream.
      element.build();
      //Secondly the OMElement should be detached from the current OMTree so that it can be attached
      //some other OM Tree. Once detached the OmTree will remove its connections to this OMElement.
      element.detach();
      return element;
      }
      
      public void ping(OMElement element) throws XMLStreamException {
      //Do some processing
      }
      public void pingF(OMElement element) throws AxisFault{
      throw new AxisFault("Fault being thrown");
      }
      }
      
      看得出來,函數統一使用OMElement作為參數。在META-INF目錄下面有個services.xml文件:
      <service name="MyService">
      <description>
      This is a sample Web Service with two operations,echo and ping.
      </description>
      <parameter name="ServiceClass" locked="false">userguide.example1.MyService</parameter>
      <operation name="echo">
      <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
      </operation>
      <operation name="ping">
      <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
      </operation>
      </service>
      呵呵,也很簡單嘛。有返回值的就用RawXMLINOutMessageReceiver,沒返回值的就用RawXMLINOnlyMessageReceiver。把它們編譯(要把axis2的jar寫到classpath里去)打包壓到 MyService.aar,包里文件目錄如下:
      ./\META-INF/services.xml
      ./userguide/example1/MyService.class
      把MyService.aar拷貝到$TOMCAT_HOME/webapps/axis2/WEB-INF/services,然后去點一下http://localhost:8080/axis2頁面上的Services,也就是http://localhost:8080/axis2/listServices.jsp,就可以看到MyService已經被列出來了。
      
      關于調用web service的東西蠻多,下次寫吧。
    posted on 2007-11-21 18:07 禮物 閱讀(416) 評論(0)  編輯  收藏 所屬分類: web service
    主站蜘蛛池模板: 亚洲人xxx日本人18| 亚洲第一永久在线观看| 亚洲AV无码欧洲AV无码网站| 久久国产亚洲电影天堂| 91亚洲国产成人久久精品| 亚洲日本一线产区和二线产区对比 | 久久午夜免费鲁丝片| 国产高清免费视频| 尤物永久免费AV无码网站| 亚洲伊人久久成综合人影院| 亚洲va久久久噜噜噜久久天堂| 亚洲精品456在线播放| 亚洲精品成a人在线观看☆| 亚洲天堂免费在线视频| 91精品国产免费久久国语蜜臀| 国产成人免费爽爽爽视频| 亚洲Av无码乱码在线观看性色| 亚洲成av人片在线观看无码不卡| 亚洲国产成人精品青青草原| 国产成人亚洲毛片| 曰批全过程免费视频在线观看无码| 免费福利视频导航| 亚洲 小说区 图片区 都市| 亚洲国产精品久久久久| 亚洲乱码中文字幕在线| 中文字幕不卡免费视频| 无码国产精品久久一区免费 | 亚洲日韩一页精品发布| 亚洲人成网站在线观看播放青青| 国产精品久久久久久亚洲小说| 国偷自产一区二区免费视频| 成人免费无毒在线观看网站| 亚洲热妇无码AV在线播放| 亚洲一区二区三区在线观看网站| 久久久久久国产a免费观看不卡| 99久久99久久精品免费看蜜桃| 亚洲日韩中文在线精品第一| 亚洲xxxx18| 日本卡1卡2卡三卡免费| 四虎影视在线永久免费观看| 亚洲精品美女久久久久|