2

有人可以帮我为以下 OGC 模式生成接口 (c#) 文件吗?

架构文件:下载架构文件链接

我需要在上面的模式 zip 文件中为 Ordering wsdl 创建 Web 服务。我已经做了好几天了,没有运气生成界面。我试过了:

svcutil.exe thewsdl.wsdl /language:c# /out:ITheInterface.cs

svcutil Order.wsdl /out:IOrder.cs

svcutil Order.wsdl Order.xsd ..\ws-addressing\ws-addr.xsd /out:IOrder.cs

svcutil Order.wsdl Order.xsd ws-addr.xsd /out:IOrder.cs

我收到以下错误:

Microsoft (R) Service Model Metadata Tool
[Microsoft (R) Windows (R) Communication Foundation, Version 4.0.30319.1]
Copyright (c) Microsoft Corporation.  All rights reserved.

Error: Cannot read ws-addr.xsd.

    Cannot load file D:\Documents\DEV\SARPilot\Docs\eoschema\schema\OrderSchema\ws-addr.xsd as an Assembly. Check the FusionLogs f
or more Information.

    Could not load file or assembly 'file:///D:\Documents\DEV\SARPilot\Docs\eoschema\schema\OrderSchema\ws-addr.xsd' or one of its
 dependencies. The module was expected to contain an assembly manifest.
4

2 回答 2

1

好的,所以我已经克服了这个错误。(我现在得到更多,但那些是另一个问题)。

我在VS2010中打开了ws-addr.xsd文件,查看了警告列表。一个说:

警告 105 XML 编辑器尝试将此 DTD 转换为 XSD,以便在您键入时提供验证和智能感知,但无法创建有效的 XSD 架构。也许这个 DTD 使用了不映射到 XSD 的结构。您可以使用 Create Schema 命令获得有关该问题的更多信息。D:\Documents\DEV\SARPilot\Docs\eoschema\schema\ws-addressing\ws-addr.xsd 3 11 D:...\schema\

所以我去了“http://www.w3.org/2005/08/addressing/ws-addr.xsd”并下载了正确的并替换了它。

我不再收到警告 105,并且不再收到 svcutil 的“无法加载文件”错误

于 2011-01-03T20:58:08.097 回答
0

要注意的另一件事是 wsdl 文件的编码。我收到了一个 wsdl 文件,但它没有用 UTF-8 编码,所以我收到了“无法加载文件或程序集”的消息。它说组装的事实完全具有误导性,就像 Microsoft 错误经常出现的情况一样。在我看来,“或”这个词应该被禁止出现在错误信息中。无论如何,solution 是在 Notepad++ 中打开 wsdl 并转换为 UTF-8。(编码-转换为 UTF-8)

于 2020-04-28T11:00:56.410 回答