2009-11-16 142 views
1

不管我嘗試我不斷收到以下異常由MSCRM 4.0拋出「必填字段‘ENTITYID’缺少」的錯誤

輸入XML爲要求SetStateITG_glcode

格式無效:必須填寫「ENTITYID」是丟失

這裏是WireShark捕獲的SoapEnvelope去MSCRM,你可以看到實際上有一個EntityId元素。

<s:Body><ns0:Execute xmlns:ns0="http://schemas.microsoft.com/crm/2007/WebServices" xmlns:ns3="http://microsoft.com/wsdl/types/" xmlns:ns4="http://schemas.microsoft.com/crm/2006/WebServices" xmlns:ns6="http://schemas.microsoft.com/crm/2006/Scheduling" xmlns:ns2="http://schemas.microsoft.com/crm/2006/CoreTypes" xmlns:ns5="http://schemas.microsoft.com/crm/2006/Query" xmlns:ns1="http://schemas.microsoft.com/crm/2007/CoreTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ns0:Request xsi:type="ns0:SetStateITG_glcodeRequest"><ns0:OptionalParameters/><ns0:EntityId>f0754ebf-50d2-de11-93aa-000c29af16b6</ns0:EntityId><ns0:ITG_glcodeState>Active</ns0:ITG_glcodeState><ns0:ITG_glcodeStatus>1</ns0:ITG_glcodeStatus></ns0:Request></ns0:Execute></s:Body></s:Envelope> 

這裏是提交給MSCRM的SOAP主體,由Wireshark再次捕獲;這條消息來自於我寫的一個快速控制檯應用程序,用於通過上面的Web服務客戶端嘗試更新。

<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Execute xmlns="http://schemas.microsoft.com/crm/2007/WebServices"><Request xsi:type="SetStateITG_glcodeRequest"><OptionalParameters/><EntityId>c2fcef74-19cf-de11-9376-000c29af16b6</EntityId><ITG_glcodeState>Inactive</ITG_glcodeState><ITG_glcodeStatus>-1</ITG_glcodeStatus></Request></Execute></s:Body> 

第二消息工作;和MSCRM做它意味着做什麼。 第一個,除了命名空間前綴,是相同的結構...就我所知。

我錯過了一些明顯的東西? 什麼是MSCRM呻吟?

感謝

回答

1

所以這個問題是固定的... 原來MSCRM不喜歡NS0 的命名空間前綴MSCRM使用自定義字符串解析基於XML vlaidator什麼可笑的?