我對WSO2 esb很陌生,我仍在評估它。我試圖使用OAuth保護的Web服務。在我的順序我創建了一箇中介的OAuth這樣的片段:當我嘗試使用cURL命令行它的工作原理沒有問題如何使用OAuth保護的Web服務?
MessageID: urn:uuid:ba554008-3b7c-4a96-875b-d04cc8fa179b, Direction: request, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Not a valid OAuth Request, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body/></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator}
:
curl -X GET --header "Accept: application/json" --header "Authorization: Bearer 3ef47ff9ae9f0600aa279a0f77ddfdf" "https://myserver.com/ws-test" -k
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="test-consume-oauth_v1" xmlns="http://ws.apache.org/ns/synapse">
<in>
<property expression="json-eval($.)" name="test-consume-oauth_v1 Body_received" scope="default" type="STRING" />
<oauthService xmlns="http://ws.apache.org/ns/synapse" password="xxx"
remoteServiceUrl="https://myserver.com/token" username="xxx"/>
<call>
<endpoint key="test_OAUTH_v1"/>
</call>
<script language="js"><![CDATA[var srvResponse = mc.getPayloadJSON();
mc.setProperty('srvResponse', srvResponse);]]></script>
<log>
<property expression="json-eval($.)" name="test-consume-oauth_v1 response "/>
</log>
<script language="js"><![CDATA[var log = mc.getServiceLog();
mc.setPayloadJSON(mc.getProperty('srvResponse'));
]]></script>
<respond />
</in>
<out>
<send />
<drop />
</out>
</sequence>
但它仍然顯示此錯誤
總結我如何在cURL命令行中執行Wso2 esb中的相同操作?
問候
啓用wirelogs,並檢查該請求是否從ESB走的是正確的 –
你可以發佈作出ESB的要求(身體,HTTP頭)問題?根據錯誤它說,不是一個有效的oauth請求,請確保您發送oauth標記頭'授權:承載xxxxx' – Jenananthan