0

赤でリストされている障害シナリオ

赤で示したシナリオを試してみると、WSO2 ESB を使用してブラウザー [Rest クライアント] から REST バックエンドを呼び出すことができません。

Content Type と MessageFormatter は既に試しました。何か間違っているのでしょうか、それとも REST API の制限です。

シナリオ A のソース コード:

<?xml version="1.0" encoding="UTF-8"?>
<api xmlns="http://ws.apache.org/ns/synapse" name="InvokeASservice" context="/invokeWS" hostname="10.203.101.76">
    <resource methods="GET" uri-template="/{str1}">
        <inSequence>
            <log level="full" separator=",">
                <property name="sequence" value="** Request Recieved**"/>
            </log>
            <property name="REST_URL_POSTFIX" expression="fn:concat('/get?id=',get-property('uri.var.str1'))" scope="axis2" type="STRING"/>
            <send>
                <endpoint>
                    <address uri="http://10.203.101.76:9765/services/PersonInfoService.PersonInfoServiceHttpEndpoint/"/>
                </endpoint>
            </send>
        </inSequence>
        <outSequence>
            <log level="full" separator=",">
                <property name="sequence" value="** Message recieved**"/>
            </log>
            <property name="ContentType" value="application/xml" scope="axis2"/>
            <send/>
        </outSequence>
        <faultSequence/>
    </resource>
</api>

ブラウザ エラー:

ブラウザのエラーメッセージ

#####################アップデート#####################

シナリオ A は、ソースを変更した後に動作するようです

<api xmlns="http://ws.apache.org/ns/synapse" name="InvokeASservice" context="/invokeWS" hostname="10.203.101.76">
   <resource methods="GET" uri-template="/{str1}">
      <inSequence>
         <log level="full" separator=",">
            <property name="sequence" value="** Request Recieved**"/>
         </log>
         <property name="REST_URL_POSTFIX" expression="fn:concat('/get?id=',get-property('uri.var.str1'))" scope="axis2" type="STRING"/>
         <send>
            <endpoint>
               <address uri="http://10.203.101.76:9765/services/PersonInfoService.PersonInfoServiceHttpEndpoint/"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
      <faultSequence/>
   </resource>
</api>

ただし、シナリオ C はまだ解決されていないパズルであり、応答が xml 形式で送信されます。outSequence に以下を追加してみました。助けにならない

<outSequence>
            <property name="messageType" value="application/json" scope="axis2" type="STRING"/>
            <send/>
        </outSequence>
4

0 に答える 0