Seasar DI Container with AOP

S2Axis クイックリファレンス

本ドキュメントはS2Axis-1.0.3について記述しています.旧バージョンについては該当バージョンの配布ファイルに含まれているドキュメントを参照してください.

目次

diconファイル

s2-axis.dicon

S2Axisが提供するdiconファイルです.s2-axis-1.0.2.jarファイルの中に含まれているので,ロケーションを気にすることなくincludeすることができます.
サーバが側では必須となります.
クライアント側では,ハンドラやWSDDのデプロイをする場合にのみ必要となります.

<meta>要素

<components>要素の下

名前 C S 内容 説明
axis-deploy 文字列 内容で指定された文字列をパス名とするWSDDファイルをAxisにデプロイします.WSDDファイルのパス名はクラスパスからの相対パスで指定します.
WSDDファイルの中で指定されたサービスやハンドラのインスタンス管理はAxisによって行われます.S2およびS2Axisは関与しません.
WSDDファイルの中では,S2Axisによってデプロイされたサービスやハンドラを参照することができます.
axis-engine 文字列 サービスやハンドラ,WSDDをデプロイする対象となるAxisエンジンの取得方法を指定しますします.
詳細は「Axisエンジンの取得方法」を参照してください.

<component>要素の下

プロパティ C S 内容 説明
axis-handler 親要素で記述されたコンポーネントをハンドラとしてAxisにデプロイします.
axis-service × 親要素で記述されたコンポーネントをサービスとしてAxisにデプロイします.
コンポーネントがメソッドの定義されたインタフェースを実装している場合は,そのメソッドが公開されます.インタフェースを実装していなければ,java.lang.Object型で定義されているものを除いたpublicメソッドが公開されます.
ServiceDef型のコンポーネント 親要素で記述されたコンポーネントをサービスとしてAxisにデプロイします.
詳細はServiceDefの説明を参照してください.
文字列 親要素で記述されたコンポーネントをサービスとしてAxisにデプロイします.
サービスの詳細は,内容で指定された文字列をパス名とするWSDDファイルに記述された<service>要素の指定に従います.WSDDファイルのパス名はクラスパスからの相対パスで指定します.

コンポーネント

org.seasar.remoting.axis.ServiceDef

サーバ側で使用するコンポーネントで,<meta>要素の内容に設定されます.
サービスとして公開するコンポーネントの詳細を指定するために使われます.

プロパティ

プロパティ 説明
serviceType String 公開するサービスの型を指定します.特定のインタフェース型を指定することで,不要なメソッドが公開されることを防ぐことが出来ます.
省略するとコンポーネントの型になります.ただし,コンポーネントがメソッドの定義されたインタフェースを一つだけ実装している場合には,そのインタフェース型になります.
allowMethods boolean 公開するメソッドの名前を指定します.複数のメソッドを指定する場合は空白で区切ります.
省略すると次のようになります.
1.serviceTypeが指定されている場合
指定された型が持つpublicなメソッドが全て公開されます (ただし,java.lang.Objectで定義されているメソッドは公開されません).
2.サービスがメソッドの定義されたインタフェースを実装している場合
インタフェースで定義されたメソッドが全て公開されます.
3.サービスがインタフェースを実装していない場合
サービスが持つpublicなメソッドが全て公開されます.ただし,java.lang.Objectで定義されているメソッドは公開されません.
provider String サービスプロバイダの種類を指定します.
現在サポートされているのはRPCMsgだけです.省略するとRPCになります.

メソッド

メソッド 説明
addTypeMapping(TypeMapping) タイプマッピングを登録します.TypeMappingついてはこちらを参照してください.

org.seasar.remoting.axis.connector.AxisConnector

クライアント側で使用するコンポーネントで,Web サービスへの動的な接続に使用されます.

プロパティ

プロパティ 説明
baseURL String 接続するサービスの基礎になるURLを指定します.
このURLと,S2RemotinのRemotingInterceptorをアスペクトとして設定されたプロキシコンポーネントの名前 (<component>要素のname属性の値) を連結したURLが,接続するサービスのURLとなります.
timeout int サービス呼び出し時のタイムアウト値(ミリ秒)を指定します。

メソッド

メソッド 説明
addTypeMapping(TypeMapping) タイプマッピングを登録します.TypeMappingついてはこちらを参照してください.

org.seasar.remoting.axis.TypeMappingDef

サーバ側で使用するコンポーネントで,ServiceDefコンポーネントに設定されます.
サービスとして公開するコンポーネントで使用するタイプマッピングの詳細を指定するために使われます.

プロパティ 説明
type Class Java型のクラスを指定します.このプロパティは必須です.
namespaceURI String XML型の名前空間URIを指定します.省略するとJava型の型のパッケージから導出されます.
namespacePrefix String XML型の名前空間接頭辞を指定します.省略するとデフォルト名前空間になります.
localPart String XML型のローカル名を指定します.省略するとJava型のクラス名が使われます.
serializer Class シリアライザファクトリを指定します.省略するとAxisのBeanSerialzierFactoryが使われます.
deserializer Class デシリアライザファクトリを指定します.省略するとAxisのBeanDeserialzierFactoryが使われます.
encodingStyle String エンコーディングスタイルを指定します.省略するとencodedが使われます.

org.seasar.remoting.common.interceptor.RemotingInterceptor

S2Remotingが提供するコンポーネントです.
クライアント側でWebサービスをコンポーネントとして使用する場合に,このコンポーネントをアスペクトとして使用します.

org.apache.axis.client.Service

Axisが提供するコンポーネントです.
クライアント側で動的呼び出しをする場合に必要となります.

その他

公開されるサービスの名前

WSDDを指定された場合
WSDDに記述された<service>要素のname属性の値が使われます
context-path/services/name
diconファイルに名前空間が指定されていない場合
diconファイルの<component>要素のname属性の値が使われます.
context-path/services/name
diconファイルに名前空間が指定されている場合
diconファイルの<components>要素のnamespace属性の値と<component>要素のname属性の値が使われます.
context-path/services/namespace/name

service-engineに指定できる内容

内容 意味
(指定なし) "default"を指定した場合と同じです.
"default" S2コンテナにjavax.servlet.ServletContextが設定されていれば"default-server",そうでなければ"default-client"を指定した場合と同じです.
"default-client" S2コンテナからjavax.xml.rpc.Serviceを実装したコンポーネント (サービスまたはサービスロケータ) を取得し,そのエンジンを使用します.
"default-server" 最初にservlet:AxisServletでエンジンを検索し,見つからなければservlet:AxisEngineでエンジンを検索します.
"s2:name" S2コンテナからnameで取得したコンポーネントをAxisエンジンとして使用します.
"servlet:name" ServletContextからnameで取得した属性をAxisエンジンとして使用します.
(その他) S2コンテナから指定された文字列で取得したコンポーネントをAxisエンジンとして使用します.