我有一个包含phonenum和textmsg字段的平面文件架构。我们使用phonenum字段,我们将通过BizTalk发送textmsg。我们成功传递了这条消息,并且能够收到短信。但是在短信中有一个加密的文本,这是不必要的,必须删除。消息看起来像
{C5B3EAF6-2CF6-40AA-9118-20430843A0D0}您的一次性密码是123456。
我们如何删除{C5B3EAF6-2CF6-40AA-9118-20430843A0D0}?我们必须在Pipeline或Orchestration中配置一些东西吗?
这是我们在Construct Message中的代码:
msgSnd_SendSMStoCustomer.parameter = msgRcv_FlatFileSchema;
InMessage = xpath(msgSnd_SendSMStoCustomer.parameter,"string(//*[local-name()='textmsg'])");
msgSnd_SendSMStoCustomer(SMTP.EmailBodyText) = InMessage;
答案 0 :(得分:0)
使用XML Schema而不是Flat File解决了这个问题。然后我添加了一些类来将String转换为RawString。在此网站http://www.codeproject.com/Articles/36210/Sending-an-HTML-formatted-e-mail-message-from-Bi上获得了解决方案。当然,构造消息应如下所示:
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) = "noreply@noone.com";
msgSnd_SendSMStoCustomer(SMTP.Subject) = " ";
msgSnd_SendSMStoCustomer(SMTP.SMTPHost) = "host";
我故意将SMTP.Subject保留为“”,因为如果它为null或者根本没有声明,那么它将被GUID抢占。我还在web中获得了classHelper.getElement的代码。只需搜索“如何将xml转换为字符串”,你应该很好。