2016-05-04 4 views
1

私のシステムに電話が登録されたら、私たちのクライアントにSMSを送信するBizTalkソリューションがあります。残念ながら、SMSにはこのようなXMLタグが含まれています。<string>をSMSで削除する方法

<文字列> PINは1234 < /文字列>

どのように私は、SMSで<文字列>タグを削除することができますか?自分のオーケストレーションのメッセージタイプが正しいことを確認し、以下のコードを私のConstruct Messageシェイプに入れました。

strCellNos = classHelper.getElement(SendSMStoCustomerRequest, "cell_number"); 
strSMS = classHelper.getElement(SendSMStoCustomerRequest, "message"); 
msg_SendSMStoCustomer.parameter = strSMS; 
msg_SendSMStoCustomer(SMTP.Subject) = "Test Message for " + strCellNos ; 
msg_SendSMStoCustomer(SMTP.From) = "[email protected]"; 
msg_SendSMStoCustomer(SMTP.SMTPHost) = "SMTPHOST"; 
msg_SendSMStoCustomer(SMTP.EmailBodyText) = strSMS ; 
msg_SendSMStoCustomer(SMTP.EmailBodyTextCharset)="UTF-8"; 
msg_SendSMStoCustomer(SMTP.SMTPAuthenticate) = 0; 
+0

要素自体ではなく要素のtextプロパティを使用する必要がありますか? – Brody

+0

Brody、私はBizTalkで非常に新しいので、あなたが正確に何を意味するか分かりません。どのようにあなたが求めるテキストプロパティを使用することができますか? – Artline157

+0

getElementを使用すると、文字列として使用するときに折り返し要素タグを返す要素全体が返されている可能性があります。 getElement(...)を使用して要素テキストを取得する必要があります。テキストまたはそのようなもの(多分innerText)は、要素の内部テキスト値だけを返します。 – Brody

答えて

1

ここでMSDNからの回答を繰り返します。

フラットファイルスキーマとフラットファイルアセンブラをパイプラインで使用して、送信メッセージをフラットファイルとして扱うだけです。

私を信頼してください、これは非常に簡単です。あなたがしようとしているこれらのすべての事柄は、あなたが最初に持っていてはいけない問題を解決することです。

一歩を踏み出し、msg_SendSMStoCustomerを最初にフラットファイルタイプとして作成してください。それから、それはうまくいくでしょう、私はあなたに約束します。

+0

これには特別なことは何もないことをご理解ください。 1フィールドのフラットフィールドメッセージです。あなたはこれを考えているのです。フラットファイルの作成に関する記事や記事はたくさんあります。 –

+0

これらは、フラットファイルスキーマを作成してマップするために実行した手順です。 1。FlatFileスキーマを作成しました。 2. Biztalkマッピングを作成しました。このマッピングは、メッセージが送信されるXMLスキーマをフラットファイルスキーマにマップします。 3.ドキュメントスキーマフィールドの送信パイプラインで、フラットファイルアセンブラのフラットファイルスキーマをマップしました。 4. Orchestrationのマルチパートメッセージにフラットファイルスキーマをマッピングしました。 5. Construct Messageシェイプで、このコードを次のコメントセクションに追加しました。 – Artline157

+0

PhoneNum = classHelper.getElementByTag(msg_SendSMStoCustomer、 "phone"); メッセージ= classHelper.getElementByTag(msg_SendSMStoCustomer、 "message"); msg_SendSMStoCustomer.parameter = strMessage; msg_SendSMStoCustomer(SMTP.Subject)= "テスト用メッセージ" + PhoneNum; msg_SendSMStoCustomer(SMTP.From)= "[email protected]"; msg_SendSMStoCustomer(SMTP.SMTPHost)= "SMTPHOST"; msg_SendSMStoCustomer(SMTP.SMTPAuthenticate)= 0; *** classHelper.getElementByTagは、電話番号と要求スキーマから来たメッセージ文字列を抽出するクラスです。 – Artline157

0

あなたはここに同様の質問を見てかかることがあります:あなたがメッセージに割り当てた場合、基本的にはあなたのBizTalk可能System.String変数の周りstringノードをラップしますSend message of System.String is wrapping xml

リンクされた質問の提案された回答は、これを回避するヘルパーメソッドを提供します。

+0

私はヘルパーのコードと、Orchestration Message Assignmentの下のコードを追加しました。Message = new System.Xml.XmlDocument(); Helper.H13_SendSMStoCustomer.LoadXLANGMsgFromString( "test"、Message);私はエラー "引数 '2'が発生し続ける: 'System.Xml.XmlDocument'から 'Microsoft.XLANGs.BaseTypes.XLANGMessage'に変換することはできません"そして今度はもう一度立ち往生しています。私は3日間この問題に座っているので、助けてください。 – Artline157

+0

それはできません。初めに発信メッセージを正しく作成するだけであれば、問題はありません。 –

関連する問題