Я новичок в Mulesoft и пытаюсь отправить некоторые (четыре) параметры запроса. При тестировании с помощью SOAP UI A screen shot of what I testedКак передать строку запроса в сообщение с помощью mulesoft
Я реплицируется это в mulesoft с помощью следующей конфигурации 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>
На этом я получаю сообщение об ошибке "{" ошибка ":" invalid_request " "error_description":" Недопустимый параметр или параметр grant_type отсутствует "}"
Я понимаю, что мы передаем его как строку запроса, но не можем понять, как это сделать.
Любые указатели оцениваются. Заранее спасибо!
его работает нормально, когда я тестирование. Там он отправляет его в качестве параметров запроса. –
Вы также задаете параметры как в строке запроса, так и в теле сообщения. Вы должны делать это только в одном месте. Я знаю, что провайдер Mule OAuth даст вам сообщение об ошибке, если вы поместите его в оба места. Удалите тело и просто используйте строку запроса и наоборот. Вероятно, это ваша проблема. – Charles
Благодарим вас за быстрый ответ .. как было предложено, я попытался удалить их в одном месте. –