Send Docs Feedback

Note: Most user interface tasks can be performed in Edge Classic or the New Edge experience. For an overview, getting started topics, and release notes specific to the New Edge experience, see the docs.

API プロキシとしての SOAP サービスの公開

このトピックでは、SOAP ベースの Web サービスで使用する API プロキシの作成方法について説明します。Edge では、2 種類の SOAP プロキシを作成できます。片方は、バックエンド SOAP サービスへの RESTful インターフェイスを生成し、もう片方はバックエンドへの SOAP メッセージの「パススルー」を実行します。このトピックでは、どちらのテクニックについても説明します。

This video provides and end-to-end demo of turning a SOAP service into a REST service with Apigee Edge using the API proxy wizard. However, if you want more control over the SOAP-to-REST transformation, you can build a proxy using policies. For more information, see this Community post.

SOAP ベースのサービスへの RESTful API プロキシの作成

このセクションでは、「Build a Proxy」ウィザードの「REST to SOAP to REST」オプションで RESTful SOAP API プロキシを作成する方法を説明します。

概要

「REST to SOAP to REST」オプションは、WSDL を処理して RESTful API プロキシを生成します。Edge は、サービスがサポートする操作や入力パラメータなどを WSDL から判断します。Edge は操作ごとに、使用する HTTP メソッドを「推定」するわけです。一般に、Edge は操作を GET リクエストに変換します。これにより、キャッシュ可能になります。Edge はまた、SOAP 操作ごとに異なることのあるバックエンドターゲットエンドポイントもセットアップします。 

For this type of proxy, Edge auto-generates an OpenAPI Specification, which you can use to create API documentation.

基本手順

  1. 「Dashboard」で、「+ API Proxy」をクリックします。 
  2. 「Build a Proxy」ウィザードで、SOAP サービスを選択します。
  3. 「Next」をクリックします。
  4. 「Details」ページで、以下の選択を行います。WSDL を選択したら、必ず「Validate」をクリックしてください。
    フィールド 操作内容
    WSDL

    WSDL のソースを選択します。

    • URL の場合 - 使用する WSDL の URL を入力します。 
    • ファイルの場合 - ファイルシステム上の WSDL ファイルを選択します。他に依存ファイルがある場合は、すべて選択できます。 
    • サンプル URL の場合 - 公に利用できる Web サービスの WSDL のリストから選択します。これらは、Edge の SOAP/API プロキシ機能を試すのに便利です。
    Proxy Name

    これは、作成するプロキシの名前です。

    Proxy Base Path

    The Proxy Base Path is a URI fragment that uniquely identifies the API that is exposed by this API proxy. API Services uses the Base Path URI to match and route incoming request messages to the proper API proxy. (The Base Path is appended to the domain of the API, which is automatically generated based on your organization name and the environment where the API proxy is deployed.) It's a best practice to include a version number in the project name, for example, /v1/delayedstockquote. This will determine how your API is invoked by consumer apps.

    Note: The Proxy Base Path defaults to the value specified for Proxy Name converted to all lower case unless you explicitly edit the content in the Proxy Base Path field.

    説明 プロキシの簡単な説明。
  5. 「Next」をクリックします。 
  6. 「WSDL」ページで、 API プロキシタイプ「REST to SOAP to REST」を選択します。

注記: Edge が WSDL ファイルで「検出」した操作の一覧を示す表が表示されます。ユーザーは、API プロキシに組み込む操作を選択し、構成できます。表を次の図に示します。 


 

  1. 「Port Type」列から、使用したい操作一式を選択します。WSDL では、Web サービスに対して呼び出せる操作をポートタイプ要素で定義します。 
  2. 任意で、操作に関連付けられる HTTP Method を変更します。

    注記: Edge では、各操作に使用する HTTP メソッドについて、「最適なものを推測」します。概して GET が好まれます。GET リクエストはキャッシュできるからです。
     
  3. Optionally change the REST API path for an operation. The path will be used as the resource name in the API proxy URL.
  4. クリック操作でウィザードの残りの部分を進めて、セキュリティを追加し、仮想ホストを選択し、展開環境を選択します。
  5. 「Build」ページで、「Build and Deploy」をクリックします。Edge により、WSDL に基づいた新しい API プロキシが生成され、展開されます。
  6. Go to the summary page for the new API proxy. Note that a set of resources have been constructed based on the operations discovered in the WSDL file.

    On the proxy's Overview page, the Resources list provides a detailed description of the new API, its operations, and parameters. You can think of this representation as the API's reference documentation. Edge generates this view of the API model automatically for you. Simply expand a resource to see its description and path information.

最終的なプロキシについて

When Edge generates an API proxy based on a WSDL, the resulting proxy is actually a complex flow that includes policies for transforming data, extracting and setting variables, manipulating messages, and more. After you generate a proxy based on a WSDL, take a look at the resulting flow in the Develop view of the API management UI. There, you can see exactly which policies have been added.

For example, on the request side, an AssignMessage policy is used to set the target URL. On the response side, policies execute to transform the response from XML to JSON, extract the SOAP body part of the response into a variable, and set the response message. These policies (and others) are added automatically when you create the proxy.

OpenAPI Spec: To view the auto-generated OpenAPI Spec for this proxy, visit http(s)://[proxy_domain]/[proxy_base_path]/openapi.json. However, the conversion is not always accurate, since not all the rules of an XML schema can be represented in an OpenAPI Spec.

SOAP ベースのサービスへのパススループロキシの作成

このセクションでは、「Create New Proxy」ダイアログの「Pass-Through Proxy」オプションを使用してパススループロキシを作成する方法について説明します。

概要

「Pass-Through Proxy」オプションを使用すると、リクエストに含まれる SOAP メッセージをバックエンドサービスへ「手付かず」で渡すプロキシを作成でき、SOAP ベースの Web サービスのためのプロキシを作成するのが非常に簡単になります。舞台裏では、Edge が変換やその他のフローアクティビティをすべて自動で処理します。 例えば、リクエストが JSON 形式だった場合は、Edge がそれを正しい名前空間を持つ有効な XML SOAP メッセージに変換してから、サービスに対する POST を実行します。同様に、サービスが XML ベースの SOAP レスポンスを返す場合は、Edge がそれを JSON に変換してからクライアントに返します。加えて、SOAP 操作ごとに異なることのあるバックエンドターゲットエンドポイントを Edge がセットアップします。 

WSDL 操作が制限なしパラメータを多数サポートしている場合は、パススルーの選択を検討してみてください。Edge にとっては、制限付きパラメータを含む WSDL をプロキシに変換するほうが楽です。なぜなら、制限付きパラメータは有限であり、よってクエリーパラメータまたはフォーム変数からなる有限集合で表現できるからです。

For this type of proxy, Edge hosts the WSDL and creates a flow in the proxy to let you access it. The address to this Edge-hosted WSDL, http(s)://[proxy_domain]/[proxy_base_path]?wsdl, becomes the new service endpoint URL for clients calling the SOAP service through the proxy.

基本手順

  1. 「Dashboard」で、「+ API Proxy」をクリックします。 
  2. 「Build a Proxy」ウィザードで、SOAP サービスを選択します。
  3. 「Next」をクリックします。
  4. 「Details」ページで、以下の選択を行います。WSDL を選択したら、必ず「Validate」をクリックしてください。
フィールド 操作内容
WSDL

WSDL のソースを選択します。

  • URL の場合 - 使用する WSDL の URL を入力します。 
  • ファイルの場合 - ファイルシステム上の WSDL ファイルを選択します。他に依存ファイルがある場合は、すべて選択できます。 
  • サンプル URL の場合 - 公に利用できる Web サービスの WSDL のリストから選択します。これらは、Edge の SOAP/API プロキシ機能を試すのに便利です。
Proxy Name

これは、作成するプロキシの名前です。

Proxy Base Path The Proxy Base Path is a URI fragment that uniquely identifies the API that is exposed by this API proxy. API Services uses the Base Path URI to match and route incoming request messages to the proper API proxy. (The Base Path is appended to the domain of the API, which is automatically generated based on your organization name and the environment where the API proxy is deployed.) It's a best practice to include a version number in the project name, for example, /v1/delayedstockquote. This will determine how your API is invoked by consumer apps.

Note: The Proxy Base Path defaults to the value specified for Proxy Name converted to all lower case unless you explicitly edit the content in the Proxy Base Path field.

説明 プロキシの簡単な説明。

  1. 「Next」をクリックします。
  2. 「WSDL」ページで、 API プロキシタイプ「Pass-Through SOAP」を選択します。

    注記:  各 WSDL 操作とその対応する SOAP ペイロードの一覧を示す表が表示されます。これは、バックエンドの SOAP サービスに「パススルー」されるペイロードです。 


     
  3. 「Port Type」列から、使用したい操作一式を選択します。WSDL では、Web サービスに対して呼び出せる操作をポートタイプ要素で定義します。 
  4. クリック操作でウィザードの残りの部分を進めて、セキュリティを追加し、仮想ホストを選択し、展開環境を選択します。
  5. 「Build」ページで、「Build and Deploy」をクリックします。Edge により、WSDL に基づいた新しい API プロキシが生成され、展開されます。

プロキシの「Overview」ページの「Resources」リストに、新しい「パススルー」API プロキシの詳しい説明が表示されます。この表現は API のリファレンスドキュメントと見なすことができます。Edge では、API モデルのこうしたビューが自動的に生成されます。リソースを展開すれば、その説明が表示されます。パススループロキシに使用されるメソッドが POST であることに注意してください。これは、SOAP プロトコルでサポートされている唯一のメソッドです。 

最終的なプロキシについて

When Edge generates a pass-through proxy, the resulting proxy is actually a complex flow that includes policies for transforming data, extracting and setting variables, manipulating messages, and more. After you generate the pass-through proxy, take a look at the resulting flow in the Develop view of the API management UI. There, you can see exactly which policies have been added.

例えば、下の図にはパススループロキシの Target Endpoint Preflow 部分が示されています。要求側では、ターゲット URL の設定に AssignMessage ポリシーが使用されています。応答側では、ポリシーを実行して、レスポンスを XML から JSON に変換し、レスポンスの SOAP ボディー部分から変数を抽出し、レスポンスメッセージを設定します。プロキシを作成すると、これらのポリシー (など) が自動で追加されます。

Edge-hosted WSDL: To see the Edge-hosted WSDL generated for this type of proxy, go to http(s)://[proxy_domain]/[proxy_base_path]?wsdl.

Advanced SOAP-to-REST proxy development

The previous sections covered the creation of a SOAP-to-REST API proxy using the API proxy wizard in Edge. However, if you want more fine-grained control over the SOAP-to-REST transformation, you can bypass the automation provided by the wizard and build a proxy by manually adding and configuring policies to get the behavior you want. For more information, see this Community post.

 

Help or comments?