【问题标题】:.net Micro Framework consuming web service wsdl error.net Micro Framework 使用 Web 服务 wsdl 错误
【发布时间】:2012-06-14 19:30:59
【问题描述】:

VS2010 SP1 或 .netMF 4.1 中可能存在的错误。

我有一个用 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,但是 .netMF 在 VS2010 中编码时会出错。

在netMF中生成文件的过程出错了这个问题。

有人遇到过吗?添加斜线可以解决问题,但是添加斜线可能会产生什么影响。

谢谢,

【问题讨论】:

    标签: visual-studio-2010 .net-micro-framework


    【解决方案1】:

    您是否在 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 并失败。

    【讨论】:

    • 由于硬件限制,尚未在 4.2 上进行测试。框架是4.1。所有模式都是 V​​S 2008 和 2010 的默认值。进一步的研究表明,此问题可能是由 WSDL 中列出的某些类型引起的。例如,我测试了返回一个 DATASET 并且 .netMF 在这个 4.1 微框架中将无法识别这种类型。似乎只允许使用简单类型,仍在测试中。
    • 是的,dataset(一般是system.data)在netmf中不存在。 API 参考是msdn.microsoft.com/en-us/library/ee436350.aspx 并显示了可用的类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多