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