問題タブ [biztalk-mapper]

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 投票する
2 に答える
732 参照

thread-safety - BizTalk マッパーと [ThreadStatic] 属性

最近、BizTalk マッパーのマルチスレッドの性質と、外部アセンブリの処理方法に関する問題に遭遇しました。

MSDN からのこの引用が示すように:

スクリプトFunctoid で使用するために外部アセンブリで記述されたコードは、スレッド セーフである必要があります。これが必要なのは、マップの複数のインスタンスがストレス条件下で実行時にこれらの .NET インスタンスを使用できるためです。

Mapper は、外部アセンブリのインスタンスを再利用します。

私のチームが使用していたユーティリティ アセンブリには、次のコードがありました。

これにより、あるファイルのストア参照が別のファイルにマップされていました。

プライベートフィールドを装飾することでこれを修正したようです[ThreadStatic]

私の質問は、BizTalk マッパーでこれに関する問題を知っている人はいますか? [ThreadStatic]スレッドが再利用されているため、Asp.Net での使用に問題があることは認識していますが、BizTalk マッパーがスレッドを処理する方法に関するドキュメントは見つかりません。

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

xml - BizTalk マップが入力 XML を正しく解析しない

BizTalk マップが入力 XML からデータを正しく抽出していない状況があります。

入力スキーマは次のようになります。

順序

XSD 上のこれら 3 つのノードはすべて、最小 0、最大無制限です。

サンプルの入力ファイルのフラグメントは次のとおりです。

これで、マップはこのデータを取得し、ストアド プロシージャを呼び出してデータをテーブルに挿入します。A of 1 と A of 2 の両方のフィールド B で「こんにちは」を取得しています。これは正しくありません。

問題を地図にたどりました。生成された XSLT は A に対して foreach を実行し、次に値 B を取得しますが、常に最初の B を取得します。

入力スキーマまたはマップを変更してこれを正しく機能させるためのヒントはありますか?

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

biztalk - マッピング中にMaxLengthに自動的に切り捨てられます

さまざまなサイズのすべての要素にmaxlengthプロパティが設定されているスキーマがあります。私はそれにマッピングしていて、最大長をかなり頻繁に超えることを期待しています。

BizTalkに、各要素のFunctoidを手動で構成することなく、自動的に切り捨てるように指示する方法はありますか?

検証以外の最大長プロパティの目的はありますか?

0 投票する
3 に答える
1116 参照

xml - Biztalkマップ:さまざまなノードをリストにグループ化する

BTマッパーで次の変換を実現する方法はありますか?そうでない場合、賢いアイデアはありますか?

に:

ノードのリストにいくつかの要素を集約する必要があります。

前もって感謝します。

0 投票する
3 に答える
2096 参照

biztalk - Biztalkマッパー:xmlに含まれていないノードを検出する方法

オリジンにノードが存在しないことを検出する方法を知りたいのですが。私は論理ファンクトイドを使って何百ものことを試しましたが、成功しませんでした。

このページの3番目のケースは、私が探しているものです:http: //danshultz.blogspot.com/2007/08/logical-existence-isnil-empty-string.html

前もって感謝します。

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

biztalk - mid 関数を使用した BizTalk スクリプト Functoid

私は BizTalk を初めて使用し、スクリプト Functoid で vb.net mid 関数を使用する方法の例を探しています。

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

biztalk - フラットファイル形式への BizTalk xml ファイル

BizTalk は比較的新しいものです。ベテランの助けを借りることができました。

ソース XML ドキュメントをフラット ファイルのタブ区切りの宛先にマップする必要に迫られています。ソース ドキュメントには、ネストされたノードがいくつかあります。これらのノードを繰り返し処理し、それぞれをフラット ファイル ドキュメントの行として変換する必要があります。従来の販売注文ヘッダー/詳細関係。結果では、子ノード内のネストされた要素ごとにヘッダー情報を繰り返す必要があります。

ループ Functoid を使用して解決策を試しましたが、宛先リストを正しく表現する方法がわかりません。明らかなことを見逃していますか?「ループ」出力パラメーターをリンクする宛先行要素はどれですか?

デモンストレーションのために、私が使用しているスキーマの例を次に示します。

SOURCE SCHEMA (ソース構造を変更する可能性はありません)

  • スキーマ\
  • 販売注文\
  • 販売注文\注文\
  • 注文\soid
  • 注文\顧客名
  • 注文\住所
  • 注文\詳細\
  • 注文\詳細\msrp
  • 注文\詳細\モデル番号
  • 注文\詳細\SKU

宛先スキーマ

  • スキーマ\
  • \根\
  • 固体
  • 顧客名
  • 住所
  • 等...

フラットファイル出力 (詳細項目ごとに 1 行)

  • soid custname アドレス msrp modelno sku
  • soid custname アドレス msrp modelno sku

誰かが私を正しい方向に向けることができますか?

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

biztalk - BizTalk マッピング

以下に示すように、入力 XML を出力に変換する必要があります。

入力

これを行う最善の方法は何ですか?

0 投票する
2 に答える
2127 参照

biztalk - マップを置き換えずにマップ内のマルチパート メッセージ スキーマを置き換える方法

2 つのソース メッセージを 1 つの宛先メッセージにマップするオーケストレーション マップがあります。ソース メッセージの 1 つのスキーマが変更された場合、入力メッセージ部分をクリックして [スキーマの置換] を選択し、影響を受けるメッセージ部分だけのスキーマを更新できるようにしたいと考えていました。代わりに、マルチパート メッセージ スキーマ全体を単一メッセージ パート スキーマに置き換えることしかできません。

代替テキスト

私の唯一の他のオプションは、オーケストレーション トランスフォーム シェイプから新しいマップを生成することのようですが、これは、マップ内のすべてのリンクを再作成する必要があることを意味します...

このタイプのスキーマを更新するより効率的な方法を知っている人はいますか?

0 投票する
2 に答える
663 参照

biztalk - ノードの順序を変更する Biztalk マッパー

ドキュメント X をドキュメント Y にマッピングする必要がありますが、どちらも非常に似ています。X には、次の [フラグメント] XSD があります。

Y には同じ要素 (A、B、C) がありますが、それらはシーケンス内にありません。

次の入力でマップをテストすると、問題が発生します。

私はこのようなものを得る:

各要素を他のスキーマの対応するペアにマップするだけなので、なぜこれが起こっているのかわかりません。

編集: PreserveSequenceOrderプロパティを「はい」に設定しようとしましたが、うまくいきませんでした