文章編號: 891386 - 上次校閱: 2007年8月7日 - 版次: 3.2

當您嘗試使用 BizTalk Web 服務或 BizTalk Server 2004 中 BizTalk Server 2006,可能會收到未處理的例外狀況錯誤訊息

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

徵狀

在 Microsoft BizTalk Server 2006 或在 Microsoft BizTalk Server 2004 中,當您嘗試使用 BizTalk Web 服務用戶端] 應用程式時您可能會收到類似下列其中一項未處理的例外狀況錯誤訊息:
錯誤訊息 1
型別中 system.web.services.dll 'System.Web.Services.Protocols.SoapException' 發生未處理的例外狀況
其他資訊: 伺服器無法處理要求。--檔案或組件名稱 > PP5dap.dll,或其相依性的其中一個找不到。
錯誤訊息 2
SOAP 錯誤: [接收者]: 伺服器無法處理要求。---> 無法產生暫時類別 (結果 = 1)。錯誤 CS0029: 不能隱含地轉換型別 '' '為 [] 的字串的字串'
如果您啟用 [編譯時期 XmlSerialization.Compilation 切換在 Web.config 檔中可能會收到類似下列的錯誤訊息:
vax07a.0.cs(219,125): 錯誤 CS0030: 無法轉換型別 '' '到字串的字串 []'
vax07a.0.cs(715,147): 錯誤 CS0029: 不能隱含地轉換 '型別 ' 要字串' 字串 []'

發生的原因

當 「 BizTalk Web 服務發佈精靈 」 會使用 Web 服務描述語言工具 (Wsdl.exe) 產生用戶端資訊時,就會發生這個問題。當您發佈包含具有 maxOccurs 屬性設定為 「 無限制 」 的值的巢狀的節點的結構描述時,Wsdl.exe 工具會產生的 datatypes.cs 檔案中建立多維度陣列。因此,產生的 datatypes.cs 檔案包含巢狀節點的正確型別。

比方說產生的 datatypes.cs] 檔案中您注意到產生的資料型別宣告陳述式類似下列的。
...
public class yourSchema
    {
     
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("TextValue")]
        public string[] TextValue;
        
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("NumValue")]
        public string[] NumValue;
        
       ....
    }
....
在這個範例中的 附註,資料型別不正確地宣告為多維陣列。

其他可行方案

如果要解決這個問題,修改 datatypes.cs 檔案所產生的 BizTalk Web 服務發佈精靈藉由移除括號 ([) 陣列字元從資料型別宣告陳述式。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

如需有關 BizTalk Web 服務 Publishign 精靈,在 BizTalk Server 2006 的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/aa578703.aspx (http://msdn2.microsoft.com/en-us/library/ms946997.aspx)
如需有關 「 BizTalk Web 服務發佈精靈 」 在 BizTalk Server 2004 的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/ms946997.aspx (http://msdn2.microsoft.com/en-us/library/ms946997.aspx)
如需有關如何啟用 XmlSerialization.Compilation 切換控制的詳細資訊,按一下 [下列面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
823196? (http://support.microsoft.com/kb/823196/ ) 用戶端應用程式呼叫 Web 服務時,收到 System.IO.FileNotFoundException"錯誤

這篇文章中的資訊適用於:
  • Microsoft BizTalk Server 2006 Developer Edition
  • Microsoft BizTalk Server 2006 Enterprise Edition
  • Microsoft BizTalk Server 2006 Standard Edition
  • Microsoft BizTalk Server 2004 Developer Edition
  • Microsoft BizTalk Server 2004 Enterprise Edition
  • Microsoft BizTalk Server 2004 Partner Edition
  • Microsoft BizTalk Server 2004 Standard Edition
關鍵字:?
kbmt kbbiztalk2004sp2fix kbtshoot kbnofix kbbug kbprb KB891386 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:891386? (http://support.microsoft.com/kb/891386/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。