問題タブ [wso2ei]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
477 参照

wso2 - ESB API フローから DSS クエリを実行しようとすると、このエラーが発生するのはなぜですか? 操作のエンドポイント参照 (EPR) が見つかりません

私はWSO2 EIの初心者で、 ESBフローで定義された API からDSSサービスを呼び出そうとすると問題が発生します。

私はこのようにしました:

1) DSSサービスに関連するagrimarketprice-dss.dbsファイルに、次の操作を行います。

id=commodity_details_idを持つクエリを呼び出します。正常に動作し、 Try Itツールでテストしたところ、期待どおりの結果セットが得られました。

2) 次に、このESBフローで定義されたこの API を定義しました。

前の ESB フローでわかるように、DSS サービスに定義された以前の操作を次のように呼び出そうとしています。

そのため、 $ctx:commodityIdで表される取得した ID を含むペイロードを作成しています(ログに記録したため、正しい値が含まれています)。次に、実行する必要がある操作の名前をヘッダーに設定します ( 「urn:GetCommodityDetails」 )。最後に、以前の DSS サービスの詳細を含むagrimarketprice_Endpointへの呼び出しを実行します。これはコンテンツです。

別の API の別のクエリに使用したため、このエンドポイントは正しいです (ただし、この別のクエリでは JSON ドキュメントからパラメーターを抽出しているため、ロジックが異なります)。

問題は、API を呼び出すと、Carbon ログに次のエラー メッセージが表示されることです (クエリを実行する呼び出しを実行しようとすると思います)。

このエラーは、次のログ情報に関連していると思われます。

渡された id (1) をagrimarketprice-dss (サービス名) に追加しようとしているようで、操作 ( GetCommodityDetailsであり、ヘッダーで指定したもの) を無視しています。

では、何が問題なのですか?私は何が欠けていますか?このエラーを修正するにはどうすればよいですか?

EDIT-1 : 私は別の方法を試しました: API は、URL パスからではなく、リクエスト内の次のような JSON ドキュメントから、commodity_idを取得します。

したがって、このように API を変更すると、正常に動作し、クエリが正しく実行されます (ただし、URL から商品 IDを取得し、それをクエリ パラメーターとして使用する必要があります (回避策にすぎない可能性があります)。

このようにして、DSS サービスが正しく呼び出され、クエリが実行され、API が期待される出力をクライアントに送り返します。

しかし、POST リクエストで JSON ドキュメントから ID を取得すると問題なく動作するのに、URL から取得するとうまくいかないのはなぜでしょうか?

0 投票する
0 に答える
210 参照

wso2esb - forceExpand: WSO2 EI での jsonObject の解析エラー

私は WSO2 EI で SOAP プロキシに取り組んでいます。残りのサービスを呼び出すと、これが出力になります。

クライアントはこのリターンを変更できません。私が得ている例外は次のとおりです。

WSO2 EI でこの動作を修正するためのいくつかのアイデアは、正式な json ではないことを知っています。

ご支援いただきありがとうございます。