2012-06-14 38 views
0

VS2010 SP1或.netMF 4.1中可能存在的錯誤。.net Micro Framework使用Web服務wsdl錯誤

我有一個在VS2008中編碼的Web服務和一個使用它的.netMicro應用程序。沒有詳細瞭解如何讓.netMF使用Web服務,我想指出這個問題。

Web服務WSDL是由VS構建的。它是一個簡單的過程。如果查看服務描述(下面的樣品)

<?xml version="1.0" encoding="utf-8" ?> 
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
       xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" 
       xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
       xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
       **xmlns:s="http://www.w3.org/2001/XMLSchema"** 
       xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" 
       xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 

僅在該實例中一個定義缺少在末尾斜線。

VS 2008和VS 2010都以這種方式構建WSDL,但在VS2010中編碼時.netMF會出錯。

在此問題上生成netMF文件錯誤的過程。

有沒有人遇到過這個?添加斜線可解決問題,但通過添加斜線可能會產生什麼影響。

感謝,

回答

0

有你在NETMF 4.2具有相同的結果試過嗎?

如果使用一個完整的框架(非NETMF)應用嘗試使用WSDL中的作品,你可以查看/後的官方資料庫/問題跟蹤:http://netmf.codeplex.com/workitem/list/basic和/或獲取在the support forum進一步的迴應。

我不會建議將斜槓添加到「http://www.w3.org/2001/XMLSchema」地址,因爲帶有附加「/」的url不會返回相同的頁面(給出404錯誤) 。

您可以訪問this page以獲取xml命名空間的簡要概述。你也許可以使用更新版本的模式(那是基於2001版),看看是否有效。

您的WSDL定義中引用的一些URL會返回404錯誤。 netmf有可能驗證這些URL返回正確的xml並失敗。

+0

由於硬件限制,未對4.2進行測試。該框架是4.1。所有模式都是VS 2008和2010的默認模式。進一步的研究表明,這個問題可能是由WSDL中列出的某些類型引起的。例如,我測試了返回一個DATASET,並且.netMF在4.1微觀框架中不會識別這種類型。看起來只有簡單的類型是允許的,仍然在測試這個。 – htm11h

+0

是的,DATASET(system.data一般)在netmf中不存在。 API參考是http://msdn.microsoft.com/en-us/library/ee436350.aspx,並顯示可用的類。 – MandoMando