問題タブ [biztalk-orchestrations]
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.
sql-server - 複数のレコードを DB に挿入し、BizTalk を使用して 1 つのインスタンスで DB から複数のレコードを取得するベスト プラクティスは何ですか?
BizTalk オーケストレーションを開発したいと考えています。オーケストレーションの単一インスタンスで、複数のレコードを複数の DB テーブルに挿入し、複数の DB テーブルから挿入されたレコードを取得する必要があります。この要件では、1 つのインスタンスにデータを挿入できますが、すべてのレコードが各レコードに一意の値を持っているため、そのインスタンスに挿入されたデータを取得するのは困難です。私の状況では、ストアド プロシージャを使用して、他のビジネス ロジックを適用する必要があります。したがって、以下に示すように、ストアドプロシージャを呼び出して「Wcf_Custom Adapter複合機能」を使用する2つの異なる方法があります。
-> Method1
LoadDate("2016-05-12 10:11:22.147") 値を挿入するとともにパラメーターとして受け取るストアドプロシージャを開発する必要があり、そのインスタンスのレコードを挿入することを処理します。指定された LoadDate。次にすぐに、LoadDate("2016-05-12 10:11:22.147") をパラメーターとして取得する Get ストアド プロシージャを呼び出し、LoadDate 値に基づいて DB から最近挿入されたレコードを取得します。
SQLサーバーから日付値に基づいてデータを取得することは悪い習慣であり、パフォーマンスの問題も発生します。
-> Method2
bool データ型の列名 "New" で、値が 0 または 1 になる挿入テーブルを設計します。"New" 列の値を「1」。次に、すぐに Get ストアド プロシージャを呼び出します。これはパラメーターを取りません。次に、DB テーブルから "New" 列インジケーター "1" を持つ最近挿入されたレコードを取得します。データを取得すると、「New」列の値が「0」に更新されます。
私はこの方法を好みます2。しかし、もっと良い選択肢はありますか?
biztalk - 呼び出し元のオーケストレーションでオーケストレーションの親の名前または ID を取得する
別のオーケストレーションを呼び出すオーケストレーションがあります。
オーケストレーション名またはオーケストレーションの呼び出し元オーケストレーションの ID を Expression シェイプで取得することはできますか?
biztalk - コード/オーケストレーションで Biztalk 動的ポートをホスト インスタンスにバインドする
異なるホスト インスタンスを持つ動的ポートを作成したかったので、コード/オーケストレーションで Biztalk 動的ポートをホスト インスタンスにバインドできるかどうかを知りたかったのです。前もって感謝します
biztalk - BizTalk アプリケーションからのイベント ログがない
以下のリンクから BizTalk の 1 つの機能を試していました https://masteringbiztalkserver.wordpress.com/category/pipelines/
これまで、エントリを確認するためにイベント ログにアクセスする必要はありませんでした。BizTalk アプリケーションからイベント ログに記録されたカスタム メッセージを取得しようとすると、BizTalk ホスト インスタンスを再起動すると、2 つのエントリ以外に BizTalk からの関連エントリが表示されません。
私の調査から、アプリケーション オーケストレーションの Expression シェイプに以下のコードを書き留めました。
ここで、InputMessageは、作成したサンプル スキーマのオーケストレーションで定義されたメッセージです。
私のアプリケーションは適切にビルドおよびデプロイされ、メッセージも適切に処理されています。送信ポートを意図的に停止したときに、コードまたは中断されたメッセージのログインイベントビューアーが表示されないというだけです。
以下のリンクからの議論も役に立ち ませんでした BizTalk からのイベントログがありません Windows 7 Ultimate マシンで BizTalk Server を構成しています。私はマシンの管理者です。
maps - オーケストレーションでプロモートされたプロパティ
オーケストレーションでプロパティを昇格できることについて読んだことがあります。以下は私の手順です-
- 新しい「StudentID」昇格プロパティを作成します。
- 値「MessageContextPropertyBase」を変更します。
- オーケストレーションの「StudentID」の値を更新します。
- 「StudentID」の相関セットを新規作成します。
- 送信形状の相関セットを初期化しています。
- BizTalk 管理者コンソールで送信ポートを作成します。
- フィルター「POC.PromotedProINOx.Schema.PropertySchema.StudentID == "7"」を設定します
エラーは発生しません。しかし、「StudentID」が7の場合、サブスクライブする必要があります。
問題- メッセージ ファイルは常に out フォルダーにドロップされるため、"StudentID" の値をチェックしていないと思います。
何か不足していますか?
scope - BizTalk 式の図形の範囲内には何がありますか?
BizTalk Expression シェイプの内部に、空白のテキスト エディターが表示され、上に粗雑な "例" がいくつか表示され、私をからかっています。「とても簡単です」と彼らは唱えます。私ができる限り試してみてください、私は接続を確立していません。たぶん私はそれを考えすぎています。私は BizTalk 初心者です。長年にわたる .NET およびソフトウェア エンジニアリングの豊富な経験から、私の考えは頭に浮かばないようです...
BizTalk の経験が豊富な人が、この質問について教えてくれますか? 範囲内で、式図形内で使用できるものは何ですか? 続いて、MessageAssignment シェイプも?
スコープとは、実際のプログラミングのように、変数名、名前空間などを意味します。
私が BizTalk で目にするすべての例は、これらがどこから来たのかを理解していることを前提としています。たとえば、次の MSDN ページを参照してください:識別フィールドとプロパティ フィールドの使用
「MyMessage」が作成され、インスタンス化され、アクセス可能な場所を知っていることを前提としています。どこで初期化するか、どの形状識別子に名前を付けるかなどの手がかりがありません。
私の設計は単純に思えます: エラーが発生したとき、それをキャッチし、どこからともなく ErrorMessage を作成し、文字列値を識別フィールド "Reason" に割り当て、送信ポートに送信します。正しい表現以外はすべて取得できます。
専門家の洞察は大歓迎です。
biztalk - オーケストレーションでの構築されていないメッセージの使用
この問題があり、誰かが解決してくれることを願っています。
入力としてファイル (Microsoft.XLANGs.BaseTypes.Any としてのメッセージ) を受け取るオーケストレーションがあります。構造化されていないテキストを含む単なるファイル。
受信したファイルをバックアップ フォルダーに保存する動的送信ポートを作成しました。
問題は、誰かが同じファイルを (同じファイル名で) 送信しても、バックアップ フォルダー内のファイルが上書きされないことです。
これをconstructMessageシェイプで試してみると
どちらのメッセージも同じタイプです: Microsoft.XLANGs.BaseTypes.Any
次のエラーが表示されます。
構築されていないメッセージ 'orgMessage' '' のエラー 1 の使用: メッセージは で初期化されていません
biztalk - BizTalk の展開 - 送信論理ポートがバインドされていないまま
UDeploy を使用して展開される BizTalk ソリューションがあります。
デプロイ後、1 つのオーケストレーションで、1 つの特定の送信論理ポートがその送信ポートにバインドされません。問題の送信ポートがドロップダウンに表示されます。しかし、選択された送信ポートは ですNone
。アプリケーション内の他のすべての論理ポート (インバウンドおよびアウトバウンド) は、それぞれの物理ポートにバインドされます。
これはなぜですか? また、これを修正するにはどうすればよいですか?