2016-06-01 1 views
1

У меня есть плоская схема файла, содержащая поля phonenum и textmsg. Мы используем поле phonenum, где мы будем отправлять textmsg через BizTalk. Мы успешно передаем сообщение и получили текстовое сообщение. Однако в текстовом сообщении есть зашифрованный текст, который не нужен и должен быть удален. Сообщение выглядело какГлобальный уникальный идентификатор, отображающийся в SMS

{C5B3EAF6-2CF6-40AA-9118-20430843A0D0} Ваш одноразовый ПИН-код 123456.

Как мы можем удалить {C5B3EAF6-2CF6-40AA-9118-20430843A0D0} ? Есть ли что-то, что мы должны настроить в Pipeline или Orchestration?

Это наш код в Construct сообщение:

msgSnd_SendSMStoCustomer.parameter = msgRcv_FlatFileSchema; 
InMessage = xpath(msgSnd_SendSMStoCustomer.parameter,"string(//*[local-name()='textmsg'])"); 
msgSnd_SendSMStoCustomer(SMTP.EmailBodyText) = InMessage; 
  • в котором msgSnd_SendSMStoCustomer.parameter является Multipart Тип сообщения, который будет служить в качестве тела сообщения мы переходим к BizTalk.
  • Мы объявили msgRcv_FlatFileSchema в качестве типа сообщения и сопоставили нашу схему плоского файла в нем.
  • InMessage - переменная, которую мы объявили как System.Xml.XmlDocument.
  • Textmsg в коде xpath - это тело сообщения, которое мы объявили в нашей схеме плоских файлов.
  • Здесь мы используем динамический порт отправки и используем настраиваемый трубопровод. Внутри нашего пользовательского конвейера находится ассемблер с плоским файлом в части ассемблера. В то время как MIME/SMIME-кодер в разделе Encode. Мы просто используем все настройки по умолчанию в нашем ассемблере Flat File и MIME/SMIME.
+0

Можете ли вы показать нам какой-то код/​​конфигурацию того, как вы передаете сообщение? Без этого очень сложно разобраться в том, что происходит. Это {.....} называется GUID (глобально уникальный идентификатор), и по мере прохождения сообщений через 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. И, конечно же, Construct Сообщение должно выглядеть следующим образом:

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 как «», потому что если это пустой или не декларируется вообще, то он будет вытеснен в GUID. Также я получил код для классаHelper.getElement в Интернете. Просто найдите «как конвертировать xml в строку», и вы должны быть хорошими.