クラス AbstractHttpWebServiceMessageSender

java.lang.ObjectSE
org.springframework.ws.transport.AbstractWebServiceMessageSender<HttpDestinationDescriptor>
org.springframework.ws.transport.http.AbstractHttpWebServiceMessageSender
実装済みのインターフェース一覧:
WebServiceMessageSender
既知の直属サブクラス
AbstractHttpComponents5MessageSender, ClientHttpRequestMessageSender, HttpComponentsMessageSender, HttpUrlConnectionMessageSender, JdkHttpClientMessageSender

public abstract class AbstractHttpWebServiceMessageSender extends AbstractWebServiceMessageSender<HttpDestinationDescriptor>
HTTP を使用する WebServiceMessageSender 実装の抽象基本クラス。

WebServiceMessageSender.UriSource.APPLICATION の場合、デフォルトのチェックでは、http: または https: URI が受け入れられます。WebServiceMessageSender.UriSource.REMOTE の場合、デフォルトのチェックではホストが必要で、localhost と *.localhost は拒否されます。また、ホストが IP リテラルの場合、DNS ルックアップなしのループバック、リンクローカル、任意のローカルアドレス、および RFC 1918 スタイルのプライベート IPv4 リテラルは拒否されます。デフォルト設定では非リテラルのホスト名は解決されないため、より厳密なチェックやホスト許可リストのために DNS で HttpDestinationDescriptor.hostAddress(boolean) を使用するなど、WebServiceMessageSender.DestinationPolicy を追加しない限り、DNS を介したプライベートネットワークアクセスは拒否されません。プライベート IPv4 リテラルは、allowSiteLocalIpv4 を true に設定することで有効にできます。

導入:
1.0.0
  • フィールドの詳細

    • logger

      protected final org.apache.commons.logging.Log logger
      サブクラスで利用可能なロガー。
  • コンストラクターの詳細

    • AbstractHttpWebServiceMessageSender

      protected AbstractHttpWebServiceMessageSender(PredicateSE<URISE> supportedUriFilter)
      指定された URI を受け入れるために適用する URI フィルターを使用してインスタンスを作成します。
      パラメーター:
      supportedUriFilter - インスタンスが URI をサポートしているかどうかをテストするために URI に適用する述語
      導入:
      3.1.9
    • AbstractHttpWebServiceMessageSender

      protected AbstractHttpWebServiceMessageSender()
      http: および https: の URI を受け入れるインスタンスを作成します。
  • 方法の詳細

    • isAcceptGzipEncoding

      public boolean isAcceptGzipEncoding()
      GZIP エンコーディングを受け入れるかどうか、つまり、gzip を値として HTTP Accept-Encoding ヘッダーを送信するかどうかを返します。
    • setAcceptGzipEncoding

      public void setAcceptGzipEncoding(boolean acceptGzipEncoding)
      GZIP エンコーディングを受け入れるかどうか、つまり、gzip を値として HTTP Accept-Encoding ヘッダーを送信するかどうかを設定します。

      デフォルトは true です。HTTP サーバーで有効になっている場合でも、GZIP レスポンスの圧縮が必要ない場合は、このフラグをオフにします。

    • setAllowSiteLocalIpv4

      public void setAllowSiteLocalIpv4(boolean allowSiteLocalIpv4)
      リモート宛先に対してサイトローカル IPv4 アドレスを許可するかどうかを設定します。

      デフォルトは false です。false の場合、リモートのデフォルトチェックでは、10.0.0.1 のようなプライベート (RFC 1918) IPv4 リテラルが拒否されます。別のポリシーでブロックされていない限り、内部ネットワークの宛先への帯域外応答を許可するには、true に設定してください。

      導入:
      3.1.9
    • setAllowDnsResolution

      public void setAllowDnsResolution(boolean allowDnsResolution)
      リモート宛先に対する DNS 解決を許可するかどうかを設定します。

      デフォルトは false で、すべての リモート宛先を解決することによるパフォーマンス低下を回避します。ただし、これは、内部 IP に解決される悪意のあるホスト名 (DNS リバインディングまたは単に内部 DNS レコード) が、デフォルトの IP レベルのチェックでブロックされないことを意味します。DNS 解決によるパフォーマンス低下なしに帯域外応答を保護するには、WebServiceMessageSender.DestinationPolicy を使用して既知のホストの厳密な許可リストを設定することを強くお勧めします。

      ホスト名を解決し、解決された IP アドレスに対してデフォルトのチェックを適用するように true に設定すると、DNS を使用した SSRF 攻撃を軽減できますが、レイテンシが増加します。

      導入:
      3.1.9
    • createDescriptor

      protected HttpDestinationDescriptor createDescriptor(URISE uri, WebServiceMessageSender.UriSource uriSource)
      クラスからコピーされた説明: AbstractWebServiceMessageSender
      指定された uri と uriSource に対して WebServiceMessageSender.DestinationDescriptor を作成します。
      次で指定:
      クラス AbstractWebServiceMessageSender<HttpDestinationDescriptor> の createDescriptor 
      パラメーター:
      uri - 確認する URI
      uriSource - URI のソース
      戻り値:
      適切な記述子
    • defaultChecks

      クラスからコピーされた説明: AbstractWebServiceMessageSender
      指定された WebServiceMessageSender.UriSource に適用するデフォルトのチェックを返します。
      次で指定:
      クラス AbstractWebServiceMessageSender<HttpDestinationDescriptor> の defaultChecks 
      戻り値:
      適用されるデフォルトのチェック
    • remoteDefaultChecks

      protected boolean remoteDefaultChecks(HttpDestinationDescriptor descriptor)
      WebServiceMessageSender.UriSource.REMOTE URI に対してデフォルトのチェックを適用します。
      パラメーター:
      descriptor - 記述子
      戻り値:
      デフォルトチェックが指定された記述子の URI を受け入れるかどうか