4月 7th, 2008at 12:21
Tags: Apache
Axis2 1.1.1 クイックスタートガイドその2
ここでは様々な方法でのサービス作成を説明。
原文:http://ws.apache.org/axis2/1_1_1/quickstartguide.html
サービスの作成
このセクションでは5種類の方法をつかってSampleServiceを元にWebサービスを作る。
- Plain Old Java Object(POJO)をデプロイする方法
- AXIOMのOMEElementを使ってサービスを構築する方法
- Axis2のデータバインディングフレームワーク(ADB)を使ってサービスを作成する方法
- XMLBeansを使ってサービスを作成する方法
- JiBXを使ってサービスを作成する方法
Deploying POJOs
POJO(Plain Old Java Objects)。AXIS2_HOME/samples/quickstartがPOJOを使ったものらしい。クイックスタートガイドその1のやりかたはPOJOらしいので説明は割愛。
Building the service using AXIOM
services.xmlがPOJOと若干異なる。
<service name="StockQuoteService" scope="application"> <description>Stock Quote Service</description> <operation name="getPrice"> <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> </operation> <operation name="update"> <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> </operation> <parameter name="ServiceClass">samples.quickstart.service.axiom.StockQuoteService</parameter> </service>
「<operation name=”update”>」というようにOperationごとにMessageReceiverを設定しているのがわかる。「RawXMLINOutMessageReceiver」は戻り値のある(引数があって戻り値がある)メソッドで、「RawXMLINOnlyMessageReceiver」は戻り値のないメソッドのように読み取ることができる。
Javaのソースを見ると、OM?というものを使っていることがわかる。
//抜粋OMElement symbolElement = element.getFirstElement();String symbol = symbolElement.getText();OMElement priceElement = (OMElement)symbolElement.getNextOMSibling();String price = priceElement.getText();
AXIOMとは「AXIS Object Model」というDOMに似た構造のオブジェクトモデル。これは、StAX APIというものをベースにしている。
メソッドはOMElementを引数として受け取らなければならない。OMElementはServiceに渡されるSOAPメッセージをあらわし
ている。ここでは、SOAPメッセージの最初の子要素を抜き取り、テキストを追加している。そして、返すOMElementとしてそれを使っている。戻り
値があるサービスのOperationならば、OMElementを返さなければならない。なぜなら、SOAPメッセージを返すことができないといけない
から。
I'm a software engineer who like travel to island in Japanese. Recently I am enjoying agile manager, coach, product owner for my work. The person grows like that.











