2016-06-13 7 views
2

私は、オーケストレーションでプロパティを宣伝することができることについて読んでいます。以下は私のステップです。オーケストレーションのプロモートプロパティ

  1. 新しい "StudentID"プロモートプロパティを作成します。
  2. 値 "MessageContextPropertyBase"を変更します。
  3. オーケストレーション内の "StudentID"の値を更新します。
  4. 新しい相関セット "StudentID"を作成します。
  5. 送信シェイプの相関セットの初期化。
  6. BizTalk管理コンソールで送信ポートを作成します。 "7 "

をフィルタ" == POC.PromotedProINOx.Schema.PropertySchema.StudentID" に設定し

  • 私はエラーを取得していないのです。しかし、私は "StudentID"が7ならそれは購読する必要があります。

    問題 - 私はメッセージファイルが常にアウトフォルダーにドロップするので、 "StudentID"の値をチェックしていないと思います。

    何か不足していますか?

  • +0

    アウトフォルダー、フィルター付き送信ポートまたは別の送信ポートを指しているものは何ですか?あなたは何の価値を設定していますか?オーケストレーションと同じタイプのメッセージタイプが送信されていますか?はいの場合、オーケストレーションの前にメッセージボックスに発行されたメッセージのStudentIDの値は何ですか。オーケストレーションからの論理ポートのポートバインディングとは何ですか?たとえば、直接、後で指定しますか? – Dijkgraaf

    答えて

    1

    メッセージ場合は、ポート7の正しいStudentIDと同じ昇格させたプロパティを持つメッセージを持って、両方のオーケストレーションおよび送信ポートは、サブスクライブします受信に

    1. が欠落しているいくつかのことが考えられますそれに。したがって、StudentIDをオーケストレーションの何かに設定した場合、送信ポート経由で送信するメッセージは実際にはオーケストレーションを通過せず、受信ポートから直接送信されます。
      修正:受信メッセージの値を別の値に設定してください または受信メッセージに昇格されたプロパティがありません。

    2. オーケストレーションで論理ポートを指定し、それを送信ポートにもバインドしました。デフォルトでは、送信ポートには常にユニークIDのサブスクリプションがあります。オーケストレーションが送信ポートにバインドされた論理ポートを介してメッセージをパブリッシュすると、オーケストレーションはそれを設定し、メッセージをパブリッシュするときにそのIDをプロモートします。サブスクリプションルールを追加するだけでも、それをBTS.SPID = {id} OR {your rule}として扱うことを意味します。これは、StudentIDが送信ポートのサブスクリプションルールと一致しない場合でも、SPIDと一致していても引き続き受信することを意味します。
      修正:オーケストレーションの論理ポートをダイレクトバインドに変更します。あなたは図形(地図&譲渡)あなたが実際にそれを設定されていることを確認するための構築チェック:

    3. 第三の可能性は、あなたが実際に7
      修正のStudentIDを持っていない公開されているオーケストレーションメッセージからということです別の値に変更します。 Send Shapeで指定されたメッセージが、実際に新しい値で構築されたメッセージであることを確認します。問題を分析する

    方法は、送信ポートを介して、いずれかのパイプラインの前にプロパティの追跡を可能にすることによって、または停止する(しかしUnenlistingない)で起こっているメッセージのコンテキストプロパティを見ることですポートを送信し、中断されたメッセージのコンテキストプロパティを調べます。

    送信ポートを経由するメッセージのStudentID = 7の場合は、#3または#1のいずれかを行ったことがあります。

    メッセージに受信ポートとStudentIDの詳細がある場合は、受信ポートから#1に従って直接送信されます。しかし、オーケストレーションが実行されていない(追跡されたインスタンスを見ていない)か、下に表示されていない限り、別のStudentIDのメッセージを公開しようとしたときのOrchestrationのエラーが表示されます。

    送信ポートを経由するメッセージにBTS.SPIDのプロモートプロパティがある場合、論理ポートは#2に従って送信ポートにバインドされます。

    あなたが入れているメッセージごとに2つのメッセージが表示されている場合は、それぞれ上記のいずれかを持ち、#1 &#2の両方を実行します。

    要約すると、メッセージの予想通りにルーティングされない場合は、必ずメッセージのコンテキストプロパティをチェックしてください。

    +0

    ありがとうございます。私は私の問題を解決しました。 – KiddoDeveloper

    +0

    @モヒト大歓迎です。どちらが欠けていた作品ですか? – Dijkgraaf

    関連する問題