2016-11-30 4 views
0

電子メールを送信するオーケストレーションがあり、XMLのノードを含める電子メールの件名を書き出しようとしています。私は、件名に次のように書きたい: EDI 860 - PO変更通知:(バイヤー名)、(バイヤー市)、(買い手州)Biztalk Expression Editorで要素を追加する

は、これは私が式の中でそれを書いた方法です:

emailSubject = "EDI 860 - PO Change Notification:"+"/*[local-name()='Name' and namespace-uri()='']/*[local-name()='buyer_name' and namespace-uri()='']"+"/*[local-name()='Name' and namespace-uri()='']/*[local-name()='city' and namespace-uri()='']"+"/*[local-name()='Name' and namespace-uri()='']/*[local-name()='state' and namespace-uri()='']"; 

これは間違いありませんか?私はオーケストレーションや文章を書くのがかなり新しいです。私は書いている間に何の誤りもなかったし、それは有効な言語のようだが、私はそれを試してみるためのテスト環境を持っていない。手始めに(バイヤー名)+(バイヤー市)+(買い手州)

答えて

1

: - PO変更通知

EDI 860:私は、電子メールは現在このように出てくることを心配しています。テスト環境を取得するか、少なくとも開発環境でテストしてください。あなたは、テストされていないものを放つべきではありません。

いいえ、それは、そのように動作しないでしょうそれはあなたがまたそれは、XPathであるということを教えて、メッセージの名前(MSG)を持っているところ、以下のように見えなければならないだろうUsing XPaths in Message Assignment
参照

myString = xpath(msg, "string(/*/book[1]/title)"); 

文字列連結でコンマを追加していないので、それがうまくいっても、2番目の例のようになります。

また、XPathを使用するのではなく、スキーマの識別フィールドを使用することもできます。これにより、ペイロード内の要素を参照するのがずっと簡単になり、開発者が(フードの下ではまだXPathを使用して)読みやすくなります。

は、あなただけのメッセージ名&フィールド名

例えば参照区別フィールドを使用するには

emailSubject = "EDI 860 - PO Change Notification:"+ msg.Name.buyer_name + "," + msg.Name.city + "," + msg.Name.state; 
+0

ありがとうございました!とても有難い。外部スキーマを追加してフィールドを区別しましたが、1つのSubject Field文字列に2つ以上の識別フィールドを追加するにはどうすればよいですか? – CreamAbdulJabbar