私が一緒に働いているチームは、(CrossCheck Networks から) CloudPort ライセンスを購入しましたが、現在、(応答の選択を制御するための) サービス モックに何らかのロジックを実装できないという問題に直面しています。それは次のように単純なものになります:
if (requestCounter++ == 1)
then
response = $fn:Global(MyFirstXmlString)$ // <-- this is CloudP syntax for vrbls
else
response = $fn:Global(MySecondXmlString)$.
Dll プラグインを使用するためのサンプルは見つかりませんでした。また、2 つの JScript タスクと VBScript タスクのどちらも機能していません (つまり、クライアント マシンは目的のMySecondXmlString
応答ではなく、代わりに次のエラーを返します)。
<faultstring>
ActiveX control '0e59f1d5-1fbe-11d0-8ff2-00a0d10038bc' cannot be instantiated
because the current thread is not in a single-threaded apartment.
</faultstring>.
信じられないかもしれませんが、J スクリプトまたは VB スクリプトのタスクが空のままであっても、上記のエラーが発生します。CloudPort UI で宣伝されているすべてのロジック機能が偽物であり、上記の種類のロジックを実装するのに役立つものは何もないとは信じがたいです。
どんな助けでも大歓迎です!
ありがとう、ポンピ
PS: 上記の種類のロジックが必要な理由について、もう少し詳しく説明します。 テスト フレームワークで SoapSonar を使用して、BizTalk オーケストレーション アプリケーションへの要求を起動します。その BT オーケストレーションの環境をシミュレートするには、CP モックが必要です。SSonar リクエストを介して個々のモックされた応答を制御することはできません。(クラウドポートの場合: 着信) クライアント リクエストは製品コードによって行われ、SSonar クライアントによって変更または制御することはできません)。私たちのために機能した唯一のタスク機能は、SSonar と CP のオフライン チャネルとして機能する DB テーブルです (SSonar が書き込み、CP が読み取ります)。CloudPort による DB からの、たとえば responseXml の読み取りは正常に機能しますが、CP 側でロジックを制御する動作をさらに実装する方法が見つかりません。したがって、このstackoverflowの投稿。