2016-12-15 2 views
0

私はMulesoftを初めて使用しており、いくつか(4つ)のクエリパラメータを送信しようとしています。 ":" INVALID_REQUEST " "しましたerror_description SOAPのUI A screen shot of what I testedmulesoftを使用してクエリの文字列を投稿要求に渡す方法

を使用してテストする場合、私はエラーを取得していますこれを行うには、 "{" エラーを次のXML構成

<flow name="boxintegrationFlow1"> 
    <http:listener config-ref="HTTP_Listener_Configuration1" path="*" doc:name="HTTP"/> 
    <logger message="Message: #[message.inboundProperties] Code: #[message.inboundProperties.'http.query.params'.code]" level="INFO" doc:name="Logger"/> 
    <set-property propertyName="Content-Type" value="application/x-www-form-urlencoded" doc:name="Property"/> 
    <set-variable variableName="QueryParameters" value="{'grant_type':'authorization_code', 'code':''#[message.inboundProperties.'http.query.params'.code]','client_id':'abc','client_secret':'xyz'}" doc:name="Variable" mimeType="application/x-www-form-urlencoded"/> 
    <logger message="#[flowVars.QueryParameters]" level="INFO" doc:name="Logger"/> 
    <set-payload value="#[flowVars.QueryParameters]" doc:name="PostQueryParameters"/> 
    <http:request config-ref="getToken" path="/oauth2/token" method="POST" sendBodyMode="ALWAYS" doc:name="HTTP"> 
     <http:request-builder> 
      <http:query-param paramName="grant_type" value="authorization_code"/> 
      <http:query-param paramName="code" value="#[message.inboundProperties.'http.query.params'.code]"/> 
      <http:query-param paramName="client_id" value="xyz"/> 
      <http:query-param paramName="client_secret" value="abc"/> 
     </http:request-builder> 
     <http:success-status-code-validator values="400"/> 
    </http:request> 
    <logger message="Message: #[message.outboundProperties] " level="INFO" doc:name="Logger"/> 
</flow> 

を使用してmulesoftでこれを複製し、":"無効なgrant_typeパラメータまたはパラメータが見つかりません "}"

私はそれをクエリ文字列として渡したが、どうすればいいのか理解できません。

どのポインタも高く評価されています。前もって感謝します!

答えて

0

Mule OAuth providerなどのエラーが表示されます。この場合、問題は、grant_typeをクエリパラメータとして間違って追加することではなく、クライアントIDと秘密情報をパラメータとして送信することです。

クライアントIDとシークレットを基本認証ヘッダーとして送信する必要があります。ヘッダーの形式はAuthorization: Basic NmJlXXXXXXXXXXc0NDZlYmFhNTgzMWQ0NDRhZmNjMmE6MzJkZTE1ZDZZZZZZZZZZZkFEOEJEQUU5QkNGである必要があります。 (リソースのユーザー名/パスワードの許可タイプを使用して)ローカルで実行ミュールのOAuthプロバイダにカールを使用して

例:

curl -i -X POST -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Basic NmJlXXXXXXXXXXc0NDZlYmFhNTgzMWQ0NDRhZmNjMmE6MzJkZTE1ZDZZZZZZZZZZZkFEOEJEQUU5QkNGMjc4RDYK" -d "grant_type=password&username=max&password=mule" "https://localhost:10101/external/access_token" -k 
+0

そのそれをテストしていたときに細かい作業。クエリパラメータとして送信しています。 –

+0

クエリ文字列と投稿本文の両方にパラメータを設定しています。あなたは一箇所でそれを行うべきです。私はあなたがそれを両方の場所に置くと、OAuthプロバイダーがあなたにエラーを通知します。本文を削除して、クエリ文字列を使用してください。逆も同様です。それはおそらくあなたの問題です。 – Charles

+0

クイック返信ありがとうございました..私はそれらを1か所で取り除こうとしました。 –

関連する問題