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

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

全部展開 | 全部摺疊

徵狀

在 Microsoft BizTalk Server 2006 或在 Microsoft BizTalk Server 2004 中,當您嘗試使用的用戶端應用程式在 BizTalk Web 服務時您可能會收到類似下列其中一項的未處理的例外狀況錯誤訊息:
錯誤訊息 1
型別 'System.Web.Services.Protocols.SoapException' 發生 system.web.services.dll 的未處理例外狀況
其他資訊: 伺服器無法處理要求。 --> 檔案或組件名稱 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及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
 

文章翻譯