Неожиданный идентификатор: 'ÿþ' - PullRequest
0 голосов
/ 16 февраля 2011

У меня есть решение BizTalk, которое разбито на три проекта: Оркестровки, Карты и Схемы.Несколько моих карт мне пришлось встроить в проект Orchestrations, потому что им требовалось несколько схем ввода, и я не нашел простого способа сделать это с помощью только BizTalk Mapper.Как только я заставил их работать, я переместил их в свой проект Карт.Но когда я пытаюсь построить этот проект, я получаю следующие ошибки для каждой из перемещенных карт (одно и то же место на всех картах):

Неожиданный идентификатор ошибки: 'ÿþ' (строка 2, столбец 2)

Ошибка неожиданного токена: '<' (строка 2, столбец 4) </p>

Я не могу найти эти значения нигде на карте или там, где их не должно быть.Я попытался сохранить карту в разных форматах, скопировать и вставить в новый документ, исключив строку 2 (которая является просто автоматически сгенерированным комментарием при создании документа), перенеся карты обратно в проект Orchestration, все, кромеполностью воссоздавая карты с нуля.

Кто-нибудь видел это раньше и знает, что идет не так?

Спасибо!Стефани

Ответы [ 3 ]

1 голос
/ 18 февраля 2011

Как вы узнали, нет простых способов создать карту с несколькими входами или несколькими выходами непосредственно из BizTalk Mapper. Правильный путь действительно состоит в том, чтобы сделать это из оркестровки BizTalk.

Один из способов сделать это, не требующий перемещения сгенерированных карт впоследствии, - создать пустую оркестровку в вашем проекте Maps. Эта оркестровка может быть отброшена, когда она больше не нужна.

Если вам необходимо переместить карты из одного проекта в другой, пожалуйста, обратите внимание на следующие моменты:

  • Местоположение импортированной схемы
  • .Net Пространства имен

Местоположение импортированной схемы

Когда вы создаете карту, расположение схем ввода и вывода записывается в сгенерированный файл .btm. Это местоположение, однако, принимает две формы, в зависимости от местоположения карты относительно местоположения импортированных схем.

Если на карте используется схема, объявленная в сборке, на которую ссылаются, местоположение выглядит как полное имя сгенерированного типа .net. Это, безусловно, тот случай, если вы создали свои карты из своего проекта Orchestrations, но он ссылается на схемы из вашего проекта Schemas and Maps.

Если на карте используется схема, объявленная в том же проекте / сборке, местоположение записывается как относительный путь.

Когда вы перемещаете свои карты из одного проекта BizTalk в другой, вы должны восстановить правильный способ объявления местоположений схемы. Откройте файл .btm в текстовом редакторе и измените полное имя на относительный путь, например:

".\imported_schema.xsd"

.Net Пространства имен

Кроме того, если вы переместили свои карты из одного проекта в другой, вы можете обновить их пространство имен .Net. Во время создания пространство имен .net связано с вашей картой и соответствует пространству из проекта, в котором оно было сгенерировано.

Вы можете изменить это пространство имен из свойств файла .btmp в Visual Studio Solution Explorer. Таким образом, вы всегда будете иметь согласованные имена для всех артефактов из одного проекта.

0 голосов
/ 25 февраля 2011

Как и Марникс, мой первый ответ на 'ÿþ' тоже был Unicode.Возможно, ваши файлы были каким-то образом сохранены в другом формате.

Попробуйте выполнить следующие действия с рабочими и нерабочими файлами карт:

В Visual Studio

 File > Open > File ... >
 Select your map file > Open With ... (the small dropdown on the Open button) >
 Binary Editor > OK

Может быть, вы сможете определить разницу между вашими файлами.

Еще одна попытка - открыть файлы карт в Visual Studio с помощью

 ...(as above)... > Open With ... >
 XML Editor > OK

Затем

 File > Advanced Save Options

Теперь посмотритекакая кодировка там показана.Возможно, вам нужно всего лишь изменить здесь кодировку для ваших нерабочих файлов карты (скажем, с UTF-16 на UTF-8) и снова сохранить их, чтобы сделать движок сборки BizTalk счастливым.

0 голосов
/ 16 февраля 2011

У меня нет знаний о BizTalk.Вообще.

Но из вышеприведенных ошибок я делаю вывод, что есть некоторый файл, который выглядит следующим образом:

  • Он начинается с пустой строки (не более некоторого пробела).
  • Тогда он, вероятно, имеет пробел в качестве первого символа строки 2.
  • Затем он имеет байты 0xFF и 0xFE, что является Unicode Byte Order Marker (BOM), используемым вФайлы в кодировке UTF-16.
  • Тогда у него есть «<», что указывает на начало XML. </li>

Цель спецификации состоит в том, чтобы быть первыми двумя байтами UTF.-16-кодированный файл.

Таким образом, похоже, что файл является XML-файлом в кодировке UTF-16, однако с некоторым пробелом в начале файла.

Понятия не имеюо том, какой формат файла должен быть, ни о том, где были введены пробелы, ни о том, где это должно быть исправлено.Но, возможно, этот анализ поможет.

...