2016-04-09 13 views
0

で私は、&は、以下のconfigsでAPIを公開作成するために、WSO2 Publisherアプリケーションを使用:WSO2 APIゲートウェイサービスHTTPエンドポイントを変更し、実行

Context = a 
Version = v1.0 
URL Pattern: /b/{bId}/c/{cId} 
HTTP Verb: GET 
Endpoint Type: HTTP Endpoint 
Production Endpoint: http://backendserver:port/services/rest/GetXYZ 

私は、APIに加入してアプリケーショントークンを生成し、呼び出された店舗で以下のURLでAPI:

:ゲートウェイがバックエンドサービスを呼び出すときしかし

https://gatewayserver:port/a/v1.0/b/123/c/456 

は、それが何らかの形で自動的に次のようにエンドポイントを変更します代わりに、期待の

http://backendserver:port/services/rest/456 

http://backendserver:port/services/rest/GetXYZ 

私はAPIのシナプスの設定を検証し、定義されたとして、それは正確にエンドポイントを捕獲しました。バックエンドのエンドポイントは自動的にどのように変更されますか?どのように避けることができますか?

+0

apiのシナプス設定を共有できますか? – harsha89

+0

シナプス設定全体を入れることはできません。 <プロパティ名= "api.ut.backendRequestTime" 表現=は、 "get-プロパティ( 'SYSTEM_TIME')" /> <エンドポイント名= "出版社 - GetXYZ_APIproductionEndpoint_0"> Nike

答えて

1

使用しているApiマネージャのバージョンは何ですか?これは、APIマネージャ1.10である場合は、デフォルトの動作は、要求がAPIマネージャから外出されるバックエンドのエンドポイントへのリソースパスを追加している

GET /services/rest/GetXYZ/b/123/c/456 

デフォルトのHTTPエンドポイントに対して、次のようにバックエンドに要求を得るでしょう

例:エンドポイントはhttp://test.com/abcで、APIは/ testresource/123として定義されたリソースを持っているあなたは追加せずにバックエンドを呼び出したい場合は、要求は、デフォルトのエンドポイントタイプ(HTTPエンドポイント)

でバックエンドにhttp://test.com/abc/testresource/123であるかどうリクエストへのリソース、あなたはfollowiを追加することができますシナプス構成のプロパティを変更します。

<property name="REST_URL_POSTFIX" scope="axis2" action="remove"/> 

これは、APIマネージャーで提供されるメディエーター拡張機能を使用して行うことができます。 https://docs.wso2.com/display/AM1100/Adding+Mediation+Extensionsを参照してください。次

このサンプル拡張ファイル

<sequence xmlns="http://ws.apache.org/ns/synapse" name="removeresource"> 
    <property name="REST_URL_POSTFIX" scope="axis2" action="remove"/> 
</sequence> 

アップロードされた後、APIの「流れの中で」配列にこれをインポートします。 https://docs.wso2.com/display/AM1100/Change+the+Default+Mediation+Flow+of+API+Requests

+0

ありがとうございました!それは問題を解決した。 – Nike

関連する問題