cx.ath.kgslab.spring.axis.server
クラス SpringBeanHandler

java.lang.Object
  拡張org.apache.axis.handlers.BasicHandler
      拡張cx.ath.kgslab.spring.axis.server.SpringBeanHandler
すべての実装インタフェース:
org.apache.axis.Handler, java.io.Serializable

public class SpringBeanHandler
extends org.apache.axis.handlers.BasicHandler

Spring Bean Handler. SpringのBeanをウェブサービスとして公開する。 JWSHandlerの実装をベースに、S2AxisのS2Handlerの実装を参考に作成。

バージョン:
$Revision: 1.4 $
作成者:
NAGASAWA Takahiro
関連項目:
JWSHandler, org.seasar.axis.server.S2Handler, 直列化された形式

フィールドの概要
private static java.util.Map soapServices
           
private  org.springframework.web.context.WebApplicationContext webApplicationContext
           
 
クラス org.apache.axis.handlers.BasicHandler から継承したフィールド
log, makeLockable, name, options
 
コンストラクタの概要
SpringBeanHandler()
           
 
メソッドの概要
private  java.lang.String createAllowedMethodsString(java.util.Set set)
           
private  org.apache.axis.handlers.soap.SOAPService createExportService(org.apache.axis.MessageContext msgContext, java.lang.String componentName, AxisExporter exporter)
           
protected  org.apache.axis.handlers.soap.SOAPService createService(org.apache.axis.MessageContext msgContext, java.lang.String componentName)
          サービスの生成
 void generateWSDL(org.apache.axis.MessageContext msgContext)
          WSDLの生成.
private  java.lang.String getAllowedMethod(AxisExporter exporter)
          公開メソッドリストの作成
protected  java.lang.String getComponentName(org.apache.axis.MessageContext msgContext)
          パスを解析して、コンポーネント名を取得する.
private  void getPublicMethodSetFromInterface(java.util.Set set, java.lang.Class itfc)
          インターフェイスから公開メソッドを抽出する。
protected  org.apache.axis.handlers.soap.SOAPService getService(org.apache.axis.MessageContext msgContext, java.lang.String componentName)
           
 void invoke(org.apache.axis.MessageContext msgContext)
           
private  void setTypeMapping(org.apache.axis.MessageContext msgContext, AxisExporter exporter)
           
protected  void setupService(org.apache.axis.MessageContext msgContext)
           
 
クラス org.apache.axis.handlers.BasicHandler から継承したメソッド
canHandleBlock, cleanup, getDeploymentData, getName, getOption, getOptions, getUnderstoodHeaders, init, initHashtable, onFault, setName, setOption, setOptionDefault, setOptions, setOptionsLockable
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

soapServices

private static final java.util.Map soapServices

webApplicationContext

private org.springframework.web.context.WebApplicationContext webApplicationContext
コンストラクタの詳細

SpringBeanHandler

public SpringBeanHandler()
メソッドの詳細

invoke

public void invoke(org.apache.axis.MessageContext msgContext)
            throws org.apache.axis.AxisFault
パラメータ:
msgContext - メッセージコンテキスト
例外:
org.apache.axis.AxisFault
関連項目:
Handler.invoke(org.apache.axis.MessageContext)

setupService

protected void setupService(org.apache.axis.MessageContext msgContext)
                     throws java.lang.Exception
パラメータ:
msgContext - メッセージコンテキスト
例外:
java.lang.Exception

getComponentName

protected java.lang.String getComponentName(org.apache.axis.MessageContext msgContext)
パスを解析して、コンポーネント名を取得する.
パスをコンポーネント名に変換するときには、 先頭の'/'は'@'に置き換えられ、その後の'/'は'.'に置き換えられる。

パラメータ:
msgContext - メッセージコンテキスト
戻り値:
コンポーネント名

getService

protected org.apache.axis.handlers.soap.SOAPService getService(org.apache.axis.MessageContext msgContext,
                                                               java.lang.String componentName)
                                                        throws org.apache.axis.AxisFault
パラメータ:
msgContext - メッセージコンテキスト
componentName - コンポーネント名
戻り値:
サービス
例外:
org.apache.axis.AxisFault

createService

protected org.apache.axis.handlers.soap.SOAPService createService(org.apache.axis.MessageContext msgContext,
                                                                  java.lang.String componentName)
                                                           throws org.apache.axis.AxisFault
サービスの生成

パラメータ:
msgContext - メッセージコンテキスト
componentName - コンポーネント名
戻り値:
サービス
例外:
org.apache.axis.AxisFault

createExportService

private org.apache.axis.handlers.soap.SOAPService createExportService(org.apache.axis.MessageContext msgContext,
                                                                      java.lang.String componentName,
                                                                      AxisExporter exporter)
                                                               throws org.apache.axis.AxisFault
パラメータ:
msgContext -
componentName -
exporter -
戻り値:
例外:
org.apache.axis.AxisFault

setTypeMapping

private void setTypeMapping(org.apache.axis.MessageContext msgContext,
                            AxisExporter exporter)
                     throws org.apache.axis.AxisFault
パラメータ:
msgContext -
exporter -
例外:
org.apache.axis.AxisFault

getAllowedMethod

private java.lang.String getAllowedMethod(AxisExporter exporter)
公開メソッドリストの作成

パラメータ:
exporter - サービス公開情報
戻り値:
公開メソッドのリスト(メソッド名をブランク区切りで列挙)

createAllowedMethodsString

private java.lang.String createAllowedMethodsString(java.util.Set set)
パラメータ:
set - 公開メソッドを集めたSet
戻り値:

getPublicMethodSetFromInterface

private void getPublicMethodSetFromInterface(java.util.Set set,
                                             java.lang.Class itfc)
インターフェイスから公開メソッドを抽出する。

パラメータ:
set - Publicメソッドを集めるSet
itfc - 対象のインターフェイス

generateWSDL

public void generateWSDL(org.apache.axis.MessageContext msgContext)
                  throws org.apache.axis.AxisFault
WSDLの生成.

パラメータ:
msgContext - メッセージコンテキスト
例外:
org.apache.axis.AxisFault