2012-02-13 62 views
0

我需要輪詢XML格式的數據,並將其映射到EDI 834 .........使用WCF-SQL適配器

我已經寫了使用XML自動,元素

存儲過程

當我把它添加使用我得到一個XML消息適配器元數據消耗....

,但我需要使用這個XML消息,它映射到EDI834 ....如何獲得XML的結構這樣我就可以在地圖中使用它了。

我也跟着http://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/6a7e0093-0692-4ba5-9e14-0d2090c2cf54

此線程並使用xml輪詢生成策略並將其映射到EDI834。

但是當我使用的地圖爲出站地圖...它不映射輪詢數據EDI 834 ..

回答

2

的WCF-SQL適配器,就不再需要使用'FOR XML AUTO,元素的語法。這是來自舊的Sql適配器的傳統遺留物。

只需以一種方式編寫存儲過程以返回一致的結果集,然後根據存儲過程生成元數據。適配器框架將根據存儲過程返回的元數據創建適當的模式。

然後,只需將WCF-SQL架構中的數據映射到您的EDI834架構即可。

+0

它會照顧嵌套節點也...因爲有這麼多的嵌套節點 – user1104946 2012-02-14 02:11:49

+0

我試圖刪除xml auto,元素語法.....它沒有給出適當的結構... – user1104946 2012-02-14 02:34:14

+0

你得到什麼結構?發佈你正在收到的東西,與你期望的東西,可能有助於找出問題所在。 – Brett 2012-02-14 05:12:17

0

通過使用FOR XML路徑語法

-SETUP使用WCF-SQL接收位置創建存儲過程返回XML(或XML一部分)。選擇XmlPolling。選擇適配器的根名稱和命名空間以環繞從SQL返回的xml(必需)。

- 設置輪詢聲明到:EXEC [SPNAME]

- 設置PollDataAvailableStatement到合適的東西,將返回一個計數> 0,如果有行/ XML被輪詢。

- 使用passthrureceive管道爲訂閱了來自用於receivelocation的receiveport一切receivelocation

- 設置了發送端口(文件)。

- 啓動應用程序。檢查從適配器返回的XML。 (注意:您可能必須運行在BizTalk SDK/Utilities/Schema生成器下找到的InstallWFX.vbs,然後才能使用生成的XML生成模式(Add-> Add generated Items-> Generate Schemas)如果你之前沒有在機器上完成這項工作)。

- 選擇由適配器生成的xml文件(給該文件一個代表您嘗試創建的模式的名稱)。

現在,您應該擁有一個表示適配器返回的xml的模式,您可能必須手動檢查模式並將數據類型更改爲比嚮導選擇的更適合的類型。