【问题标题】:Unexpected identifier: 'ÿþ'意外标识符:'ÿþ'
【发布时间】:2011-02-16 15:24:35
【问题描述】:

我有一个 BizTalk 解决方案,它分为三个项目:编排、地图和架构。我的一些地图,我必须在 Orchestrations 项目中构建,因为它们需要多个输入模式,而且我发现仅使用 BizTalk Mapper 并没有简单的方法来做到这一点。一旦我让它们工作,我就把它们移到我的地图项目中。但是当我尝试构建该项目时,每个移动的地图都会出现以下错误(所有地图上的相同位置):

错误的意外标识符:“ÿþ”(第 2 行,第 2 列)

错误的意外标记:'

我在地图上的任何地方或它们不应该出现的任何地方都找不到这些值。我尝试以不同的格式保存地图,复制并粘贴到新文档,删除第 2 行(这只是文档创建时自动生成的注释),将地图移回 Orchestration 项目,一切都不足完全从头开始重新创建地图。

有没有人见过这个并且知道出了什么问题?

谢谢! 斯蒂芬妮

【问题讨论】:

  • 你的问题解决了吗?

标签: biztalk biztalk-2009


【解决方案1】:

正如您所发现的,没有简单的方法可以直接从 BizTalk 映射器创建具有多个输入或多个输出的映射。正确的方法确实是从 BizTalk 编排中执行此操作。

一种不需要在之后移动生成的地图的方法是在您的地图项目中创建一个空的编排。当不再需要时,可以丢弃此编排。

但是,如果您必须将地图从一个项目移动到另一个项目,请注意以下几点:

  • 导入的架构位置
  • .Net 命名空间

导入的架构位置

创建地图时,输入和输出模式的位置会记录在生成的 .btm 文件中。但是,此位置有两种形式,具体取决于地图相对于导入模式位置的位置。

如果地图使用在引用程序集中声明的架构,则该位置看起来像生成的 .net 类型的完全限定名称。如果您从 Orchestrations 项目中生成了地图,但它引用了 Schemas 和 Maps 项目中的模式,则肯定是这种情况。

如果地图使用在同一项目/程序集中声明的架构,则该位置将记录为相对路径名。

当您将地图从一个 BizTalk 项目移动到另一个项目时,您必须恢复正确的方式来声明架构位置。在文本编辑器中打开 .btm 文件并将完全限定名称更改为相对路径,如下所示:

".\imported_schema.xsd"

.Net 命名空间

另外,如果您已将地图从一个项目移至另一个项目,您可能需要更新其 .Net 命名空间。在创建时,一个 .net 命名空间与您的地图相关联,并且对应于在其中生成它的项目中的命名空间。

您可以从 Visual Studio 解决方案资源管理器中的 .btmp 文件属性更改此命名空间。这样,您将始终对来自同一项目的所有工件进行一致的命名。

【讨论】:

  • 命名空间和路径都正确。错误甚至在达到这一点之前就发生了。源始终是第 2 行,第 2/4 列 - 即使那里什么都没有,如果它发生了变化。
  • 因此,我认为您可能无意中更改了 BTM 文件的内容,导致它们无法用于 BizTalk。或者您是说将完全相同的文件放回最初生成它们的项目中时可以工作?
【解决方案2】:

我不了解 BizTalk。完全没有。

但是从上面的错误我推断有一些文件看起来像这样:

  • 它以空行开头(最多一些空格)。
  • 那么它可能有一个空格作为第 2 行的第一个字符。
  • 然后它有字节 0xFF 和 0xFE,这是 UTF-16 编码文件中使用的 Unicode Byte Order Marker (BOM)。
  • 然后是“

BOM 的目的是成为 UTF-16 编码文件的前两个字节。

因此,该文件看起来像是一个 UTF-16 编码的 XML 文件,但在文件开头添加了一些空格。

我不知道文件格式应该是什么,也不知道在哪里引入了空格,也不知道应该在哪里修复。但也许这种分析会有所帮助。

【讨论】:

  • 不,没有空行,没有空格,至少没有可见的。
【解决方案3】:

和 marnix 一样,我对“ÿþ”的第一反应也是 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 的构建引擎满意。

【讨论】:

    猜你喜欢
    • 2015-09-14
    • 2017-09-05
    • 2020-07-10
    • 2012-06-19
    • 2014-04-10
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多