クラス AxiomSoapMessageFactory

java.lang.ObjectSE
org.springframework.ws.soap.axiom.AxiomSoapMessageFactory
実装済みのインターフェース一覧:
org.springframework.beans.factory.InitializingBean, SoapMessageFactory, WebServiceMessageFactory

public class AxiomSoapMessageFactory extends ObjectSE implements SoapMessageFactory, org.springframework.beans.factory.InitializingBean
WebServiceMessageFactory インターフェースの公理固有の実装。AxiomSoapMessages を作成します。

このメッセージファクトリによって作成された SOAP リクエストの読み取りパフォーマンスを向上させるために、payloadCaching プロパティを false (デフォルトは true)に設定できます。これにより、本体の内容がストリームから直接読み取られます。ただし、この設定を有効にすると、ペイロードは 1 回しか読み取ることができません。これは、メッセージペイロード(PayloadRootAnnotationMethodEndpointMappingPayloadValidatingInterceptorPayloadLoggingInterceptor など)に基づくエンドポイントマッピングまたはインターセプターを使用できないことを意味します。代わりに、ペイロードを消費しないエンドポイントマッピング(つまり、SoapActionAnnotationMethodEndpointMapping)を使用してください。

さらに、このメッセージファクトリは、attachmentCaching プロパティを true (デフォルトは false)に設定することにより、大きな添付ファイルをディスクにキャッシュできます。オプションで、添付ファイルが保存される場所は、attachmentCacheDir プロパティを介して定義できます(デフォルトはシステムの一時ファイルパスです)。

主に org.apache.axis2.transport.http.HTTPTransportUtils と org.apache.axis2.transport.TransportUtils から派生していますが、これらは Axiom ディストリビューションの一部ではないため使用できません。

導入:
1.0.0
関連事項:
  • コンストラクターの詳細

    • AxiomSoapMessageFactory

      public AxiomSoapMessageFactory()
  • 方法の詳細

    • setPayloadCaching

      public void setPayloadCaching(boolean payloadCaching)
      SOAP ボディペイロードをキャッシュする必要があるかどうかを示します。デフォルトは true です。

      これを false に設定すると、パフォーマンスが向上しますが、メッセージペイロードは 1 回しか読み取れないという事実も生じます。

    • setAttachmentCaching

      public void setAttachmentCaching(boolean attachmentCaching)
      SOAP 添付ファイルをキャッシュする必要があるかどうかを示します。デフォルトは false です。

      これを true に設定すると、Axiom はより大きな添付ファイルをメモリではなくディスクに保存します。これにより、メモリ消費量は減少しますが、パフォーマンスは低下します。

    • setAttachmentCacheDir

      public void setAttachmentCacheDir(FileSE attachmentCacheDir)
      SOAP 添付ファイルが保存されるディレクトリを設定します。attachmentCaching が true に設定されている場合にのみ使用されます。

      パラメーターは、既存の書き込み可能なディレクトリである必要があります。このプロパティは、デフォルトでオペレーティングシステムの一時ディレクトリ(つまり、java.io.tmpdir システムプロパティの値)になります。

    • setAttachmentCacheThreshold

      public void setAttachmentCacheThreshold(int attachmentCacheThreshold)
      添付ファイルのキャッシュのしきい値をバイト単位で設定します。このしきい値より大きい添付ファイルは、attachment cache directory にキャッシュされます。attachmentCaching が true に設定されている場合にのみ使用されます。

      デフォルトは 4096 バイト(つまり、4 キロバイト)です。

    • setSoapVersion

      public void setSoapVersion(SoapVersion version)
      インターフェースからコピーされた説明: SoapMessageFactory
      このファクトリで使用される SOAP バージョンを設定します。
      次で指定:
      インターフェース SoapMessageFactory 内の setSoapVersion 
      パラメーター:
      version - バージョン定数
      関連事項:
    • setLangAttributeOnSoap11FaultString

      public void setLangAttributeOnSoap11FaultString(boolean langAttributeOnSoap11FaultString)
      xml:lang 属性を SOAP 1.1 <faultstring> 要素に設定する必要があるかどうかを定義します。

      WS-I に準拠するために、デフォルトは true ですが、このフラグは、古い W3C SOAP 1.1 仕様の false に設定できます。

      関連事項:
    • setReplacingEntityReferences

      public void setReplacingEntityReferences(boolean replacingEntityReferences)
      内部エンティティ参照を置換テキストに置き換えて、文字として報告するかどうかを設定します。
      関連事項:
    • setSupportingExternalEntities

      public void setSupportingExternalEntities(boolean supportingExternalEntities)
      外部の解析済みエンティティを解決するかどうかを設定します。
      関連事項:
    • afterPropertiesSet

      public void afterPropertiesSet() throws ExceptionSE
      次で指定:
      インターフェース org.springframework.beans.factory.InitializingBean 内の afterPropertiesSet 
      例外:
      ExceptionSE
    • createWebServiceMessage

      public AxiomSoapMessage createWebServiceMessage()
      インターフェースからコピーされた説明: SoapMessageFactory
      新しい空の SoapMessage を作成します。
      次で指定:
      インターフェース SoapMessageFactory 内の createWebServiceMessage 
      次で指定:
      インターフェース WebServiceMessageFactory 内の createWebServiceMessage 
      戻り値:
      空のメッセージ
    • createWebServiceMessage

      public AxiomSoapMessage createWebServiceMessage(InputStreamSE inputStream) throws IOExceptionSE
      インターフェースからコピーされた説明: SoapMessageFactory
      指定された入力ストリームから SoapMessage を読み取ります。

      指定されたストリームが TransportInputStream のインスタンスである場合、ヘッダーはリクエストから読み取られます。

      次で指定:
      インターフェース SoapMessageFactory 内の createWebServiceMessage 
      次で指定:
      インターフェース WebServiceMessageFactory 内の createWebServiceMessage 
      パラメーター:
      inputStream - メッセージを読み取るための入力ストリーム
      戻り値:
      作成されたメッセージ
      例外:
      IOExceptionSE - I/O 例外が発生した場合
    • getCharSetEncoding

      protected StringSE getCharSetEncoding(StringSE contentType)
      指定されたコンテンツ型から文字セットを返します。主にコピー
      戻り値:
      文字セットエンコーディング
    • createXmlInputFactory

      protected XMLInputFactorySE createXmlInputFactory()
      このリゾルバーが XMLStreamReaderSE オブジェクトの作成に使用する XMLInputFactory を作成します。

      サブクラスでオーバーライドして、ファクトリの初期化をさらに追加できます。結果のファクトリはキャッシュされるため、このメソッドは 1 回だけ呼び出されます。

      デフォルトでは、このメソッドは標準の XMLInputFactorySE を作成し、replacingEntityReferences および supportingExternalEntities プロパティに基づいて構成します。

      戻り値:
      作成されたファクトリ
    • toString

      public StringSE toString()
      オーバーライド:
      クラス ObjectSEtoString