2016-06-01 7 views
1

私は、phonenumとtextmsgフィールドを含むフラットファイルスキーマを持っています。私たちはBizTalk経由でtextmsgを送信するphonenumフィールドを使用します。私たちはメッセージの受け取りに成功し、テキストメッセージを受け取ることができました。ただし、テキストメッセージには不要な暗号化されたテキストがあり、削除する必要があります。メッセージは{C5B3EAF6-2CF6-40AA-9118-20430843A0D0}あなたのワンタイムPINは123456グローバルに一意のIDがSMSに表示されます

どのように我々は{C5B3EAF6-2CF6-40AA-9118-20430843A0D0}を削除することができますです

のように見えました?パイプラインまたはオーケストレーションで設定する必要があるものはありますか?

これは、構造のメッセージで私たちのコードです:

msgSnd_SendSMStoCustomer.parameter = msgRcv_FlatFileSchema; 
InMessage = xpath(msgSnd_SendSMStoCustomer.parameter,"string(//*[local-name()='textmsg'])"); 
msgSnd_SendSMStoCustomer(SMTP.EmailBodyText) = InMessage; 
  • msgSnd_SendSMStoCustomer.parameterたちはのBizTalkに渡すメッセージのボディとして機能するマルチパートメッセージの種類であることを特徴とします。
  • メッセージタイプとしてmsgRcv_FlatFileSchemaを宣言し、そこにフラットファイルスキーマをマップしました。
  • InMessageは、System.Xml.XmlDocumentとして宣言した変数です。
  • xpathコードのtextmsgは、フラットファイルスキーマで宣言したメッセージ本文です。
  • ここでは動的送信ポートを使用し、カスタムパイプラインを使用します。私たちのカスタムパイプラインには、アセンブラ部分のフラットファイルアセンブラがあります。 MIME/SMIMEエンコーダはエンコードセクションにあります。フラットファイルアセンブラとMIME/SMIMEエンコーダのすべてのデフォルト設定を使用します。
+0

メッセージの受け渡し方法のコードや設定を教えてもらえますか?それがなければ、我々が進んでいることを解決することは非常に難しいです。その{.....}はGUID(Globally Unique ID)と呼ばれ、メッセージがBizTalk経由で流れると、さまざまなGUIDが与えられます。だから暗号化されたテキストではないので(あなたの質問からそのタグを削除しました) – Dijkgraaf

+0

質問の下の編集リンクを使用して、コメントではなく詳細を追加してください。 – Dijkgraaf

+0

完了。 @Dijkgraaf – Artline157

答えて

0

これは、フラットファイルの代わりにXMLスキーマを使用して解決しました。次に、StringをRawStringに変換するクラスを追加しました。このサイトの解決策を得ましたhttp://www.codeproject.com/Articles/36210/Sending-an-HTML-formatted-e-mail-message-from-Bi。そしてもちろんの構造体のメッセージは次のようになります。それがすべてで宣言nullかではない場合、それはGUIDによってプリエンプトされるため

stringPhoneNum = classHelper.getElement(msgRcv_SendSMStoCustomer, "phoneNum"); 
stringMessageBody = classHelper.getElement(msgRcv_SendSMStoCustomer, "messageBody"); 
msgSnd_SendSMStoCustomer.multiPartMessage = new Microsoft.BizTalk.XlangCustomFormatters.RawString(stringMessageBody); 

SMTPUtils.Part.SetContentType(msgSnd_SendSMStoCustomer.multiPartMessage,"text/html"); 
msgSnd_SendSMStoCustomer(SMTP.From) = "[email protected]"; 
msgSnd_SendSMStoCustomer(SMTP.Subject) = " "; 
msgSnd_SendSMStoCustomer(SMTP.SMTPHost) = "host"; 

を私は意図的に「」としてSMTP.Subjectを残しました。また、WebでclassHelper.getElementのコードを取得しました。単に "XMLを文字列に変換する方法"を検索してください。

関連する問題