1

我有一个接收端口。它调用存储过程进行传输,然后接收管道只是 passthrureceive(我尝试了 XMLReceive,但这导致了更多问题)。我有一个设置了过滤器的发送端口,因此它可以选择接收端口的类型。发送端口有一个映射和发送管道。该映射将 xml 从接收端口映射到平面文件模式,然后将其发送到它的位置。发送管道有一个平面文件汇编器。

所以地图永远不会运行。我只是从发送管道中收到错误,说它与文档不匹配。不,它不能,因为它没有被映射。我读到您需要在接收位置的接收管道上使用 XML 反汇编程序。我添加了那个,这才开始破坏我的消息。它们只是变成了一条空白消息,或者只是消息中的一个“。所以 XML 反汇编器显然不能正常工作。我现在不知道该怎么做。

4

3 回答 3

2

好的,我想通了。我必须使用 XML 反汇编程序来运行地图。它删除我的消息的原因是,我不知道原因,但是当我将架构设置为“elementFormDefault = Qualified”时,它起作用了。我不太确定那做了什么,因为我真的对整个合格的消息没有很好的理解,但这对我来说是个问题。

于 2012-09-07T16:01:42.197 回答
1

Visual Studio 中有一个向导可帮助您创建用于与存储过程通信的架构和绑定。我猜你没用过?(右键单击项目,点击“添加”,然后点击“添加生成的项目”,然后点击“使用适配器服务”)

我从挂接到双向发送/接收端口的编排中调用我的存储过程。我正在为管道使用带有 XMLTransmit 和 XMLReceive 的自定义 WCF 类型端口。这似乎工作正常。需要注意的是,让 WCF 工作总是有点繁琐,因为有很多选择。

于 2012-09-07T15:41:53.900 回答
0

为了在端口上从一种格式映射到另一种格式,您需要提升 MessageType。在您的情况下,可以通过在接收管道上使用 XMLReceive 来完成。

于 2013-02-01T14:37:58.340 回答