我有一个接收端口。它调用存储过程进行传输,然后接收管道只是passthrureceive(我尝试过XMLReceive,但这导致了更多问题)。我有一个具有过滤器设置的发送端口,因此它可以选择接收端口的类型。发送端口有一个map和send管道。映射将xml从接收端口映射到平面文件架构,然后将其发送到它的位置。发送管道有一个平面文件汇编程序。
所以地图永远不会运行。我只是从发送管道中得到错误,说它与文档不匹配。不,它不能,因为它没有映射。我读到你需要在接收位置的接收管道上使用XML反汇编程序。我补充说,那刚开始销毁我的消息。它们只是变成了一条空白消息,或者只是一条消息。因此,XML反汇编程序显然无法正常工作。我不知道此时该怎么做。
答案 0 :(得分:2)
好的,我明白了。我必须使用XML反汇编程序来运行地图。它擦除我的消息的原因是,我不知道原因,但是当我将模式设置为“elementFormDefault = Qualified”时,它起作用了。我不太确定那是做什么的,因为我对整个合格的消息事情没有很好的理解,但这对我来说是个问题。
答案 1 :(得分:1)
Visual Studio中有一个向导可帮助您创建用于与存储过程通信的模式和绑定。我猜你没用过那个? (右键单击项目,单击“添加”,然后单击“添加生成的项目”,然后单击“使用适配器服务”)
我正在从一个连接到双向发送/接收端口的业务流程调用我的存储过程。我正在使用带有XMLTransmit和XMLReceive的自定义WCF类型端口来管道。这似乎工作正常。需要注意的是,因为有很多选项,所以WCF总是有点繁琐。
答案 2 :(得分:0)
为了在端口上从一种格式映射到另一种格式,您需要提升MessageType。在您的情况下,可以通过在接收管道上使用XMLReceive来完成。