1
我有一个存储过程返回一个完全形成的模式实例为XML数据类型:使用XML“原样”使用BizTalk SQL适配器
<ns0:PolicyCreated xmlns:ns0="http://blah/v1.0">
<ns0:Source>
<ns0:Organisation>Company1</ns0:Organisation>
<ns0:System>System1</ns0:System>
</ns0:Source>
</ns0:PolicyCreated>
的问题是,当我尝试与SQL适配器消耗这它将xml包装在根节点和命名空间中:
<ns0:PolicyCreated xmlns:ns0="http://blah/v1.0">
<ns0:PolicyCreated xmlns:ns0="http://blah/v1.0">
<ns0:Source>
<ns0:Organisation>Company1</ns0:Organisation>
<ns0:System>System1</ns0:System>
</ns0:Source>
</ns0:PolicyCreated>
</ns0:PolicyCreated>
所以我得到一个双根节点和命名空间。
任何想法如何解决这个问题?
感谢adavnce
汤姆
您可以共享请求和响应模式吗?这是BizTalk 2006 SQL适配器还是WCF SQL适配器? – 2011-05-09 13:14:04
嗨克里斯没有请求/响应模式。我没有使用适配器元数据。这是一种单向接收。我只想从SQL适配器接收xml,这与您使用MSMQ或FILE适配器的方式类似。看起来有一种方法可以使用WCF SQL适配器执行此操作,因为您可以在发送端口响应中指定正文xpath。但是,使用SQL – 2011-05-10 06:30:42
您是否试图为XML返回的SQL适配器创建信封模式?为子文档使用'anyType/maxOccurs = unbounded'。尽管你可能不是真的在进行信封处理,但双根元素已经消失了,因为它被认为是一个信封元素,而不是文档元素。您应该最终将您的单行进入MessageBox'原样'(FOR XML AUTO) – 2011-05-25 17:01:30