與 EDI 解決方案搭配使用之 XML 工具的已知問題
本主題描述 BizTalk Server 中 XML 工具的已知問題。
當 Validate 屬性設定為 False 時,仍然會進行測試對應輸入與輸出檔案的驗證
如果您使用 TestMap Input 屬性設定為 Native 且 Validate TestMap Input 和 Validate TestMap Output 屬性設定為 False的測試對應,則仍然會執行驗證。 因為原生格式的輸入檔案將轉換成 XML 格式,而且 BizTalk Server 將針對結構描述驗證 XML,所以會發生這個問題。 如果輸入檔中有驗證問題,即使 [驗證 TestMap 輸入] 和 [驗證 TestMap 輸出] 屬性設定為 False,此驗證機制還是會張貼錯誤。
系統不會針對提取自結構描述之列舉清單的產生執行個體中的資料元素進行長度驗證
當某個執行個體產生自結構描述,而且該結構描述中資料元素的列舉值不符合長度需求時,此執行個體可能會以後續由於長度需求而讓 XSD 驗證失敗的資料元素產生。 結構描述驗證將不會檢查提取自結構描述之列舉清單的產生執行個體中的值是否滿足最小/最大長度需求。
驗證結構描述可能無法偵測出無效的交易集識別代碼
當您使用 Visual Studio 方案總管 視窗中的 [驗證架構] 命令來驗證架構時,根節點的檢查可能不會在根參考節點的最後一個部分中偵測到不正確交易集識別碼代碼 (格式為 X12_ < VersionRelease > _TSID) 。 如果結構描述之根參考節點中的 TSID 無效,但是它與結構描述中 ST01 元素之列舉節點的 TSID 相同,[驗證結構描述] 作業將無法偵測出此 TSID 無效。
您必須重新啟動 Visual Studio 才能讓結構描述中的列舉變更針對執行個體驗證生效
如果您變更了結構描述中的列舉清單、儲存此結構描述,然後執行執行個體驗證,BizTalk Server 將會根據舊版結構描述而非最新版本進行驗證。 在您重新啟動 Visual Studio 之前,BizTalk Server 將不會使用最新版結構描述。
EDI 執行個體屬性對話方塊可能會在不需要時顯示於 TestMap 作業中
BizTalk Server會在 TestMap 程式期間顯示 EDI 實例屬性對話方塊兩次:一次,讓您可以輸入解譯輸入訊息實例所需的分隔符號,一次用於輸入分隔符號以產生輸出訊息實例。 BizTalk Server 應該只會顯示 [EDI 執行個體屬性] 對話方塊兩次,而且僅針對 EDI 結構描述顯示。不過,BizTalk Server 可能會針對非 EDI 結構描述顯示此對話方塊,而且不僅顯示兩次。 如果發生這個問題,請關閉此對話方塊。
不支援 XML 保留交換的驗證
驗證保留的交換時,如果您選取 [ 驗證實例輸入類型 ] 屬性的 XML,作業將會失敗,而且不會傳回任何專案。 不過,如果您在驗證保留的交換時選取 [驗證實例輸入類型] 的 [原生],作業將會成功。
針對 HIPAA 278 結構描述產生的執行個體將同時包含要求與回應區段
HIPAA 278 結構描述會同時用於 278 要求和 278 回應訊息。 如果您針對 278 結構描述使用 [產生執行個體] 命令,產生的執行個體將同時含有要求與回應區段,而系統應該永遠都不會傳送這兩個區段。 若要建立可用的 278 要求或 278 回應訊息,請在文字編輯器中開啟 XML 工具所產生的執行個體,然後刪除其中一個區段,例如刪除要求訊息的回應區段。
如果您針對同時含有要求與回應區段的 278 訊息執行 [驗證執行個體] 命令,此訊息將成功地針對 278 結構描述進行驗證。
產生自 278 HIPAA 結構描述的 XML 執行個體將會讓驗證失敗
如果您使用「執行個體產生」命令,從 278 HIPAA 結構描述中產生 XML 執行個體,然後使用「執行個體驗證」命令來驗證該執行個體,BizTalk Server 將會公佈錯誤。
從 837 結構描述產生的原生執行個體不正確地設定 GS08
使用包含X12_BatchSchema以及 837I、837D 或 837P 架構的 BizTalk Server 解決方案產生原生實例時,GS08 的值會包含 00401。 處理這個實例之前,您必須將 GS08 的值變更為架構實例的正確值。 下表包含每個 837 結構描述的正確 GS08 值:
HIPAA 結構描述 | GS08 值 |
---|---|
837I | 004010X096A1 |
837D | 004010X097A1 |
837P | 004010X098A1 |