ここでは様々な方法でのサービス作成を説明。
原文: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メッセージを返すことができないといけない
から。
[…] https://daipresents.com/2008/axis2_111_1/ Axis2 1.1.1 クイックスタートガイドその2: https://daipresents.com/2008/axis2_111_2/ さすが世界の@daipresentsやで。 ■ Javaのクラスを作ってみる […]
いいねいいね