问题标签 [svcutil.exe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4055 浏览

.net - .Net SvcUtil:属性必须是可选的

我正在尝试使用 SvcUtil.exe 而不是 Xsd.exe 生成 C# 代码类。后者给我带来了一些问题。

命令行:

这里描述并解决了几个 SvcUtil 问题:http: //blog.shutupandcode.net/ ?p=761

我无法解决的一个问题是:错误:无法导入命名空间''中的类型'DatafieldDescription'。属性必须是可选的,并且来自命名空间“ http://schemas.microsoft.com/2003/10/Serialization/ ”。要么更改架构,以便类型可以映射到数据协定类型,要么使用 ImportXmlType 或使用不同的序列化程序。 '

我变了

但错误仍然存​​在。是否可以使用属性,或者我必须将它们全部删除(在这种情况下,这个练习结束了)?

0 投票
1 回答
890 浏览

c# - 使用 svcutil 生成代理时出错

我正在构建一个合同优先的 SOAP 客户端。当我尝试使用 svcutil 生成代理类时,我收到下面列出的错误消息并且没有生成任何类。一些错误消息是荷兰语,但它们类似于MSDN 上这个问题中的错误。该问题的海报提供了以下解决方案:

[...] WCF 发布向导不喜欢多个包含(准确地说,超过 3 个)。所以我将我的架构包含减少到零 [...]

由于我无法控制 wsdl 和 xsd,而且它们很多而且很大,因此减少架构包含会导致严重的可维护性问题。所以在我尝试这个之前,我想知道这是否确实是导致问题的原因。我无法找到对此的确认。

有没有其他人听说过这是导致问题的原因?还有其他我可以尝试的事情吗?

wsdl相关文件可在线获取。据我所知,它们都是有效的。

我尝试使用参数 /dcOnly 和 /ser:XmlSerializer 运行 svcutil,但这没有帮助。我还尝试将操作集减少到我需要的程度,但这也无济于事。

谢谢,米尔。

错误:Er is een validatiefout opgetreden op een schema dat tijdens het exporteren werd gegenereerd: Bron: Regel: 17518 Kolom: 6 Validatiefout: Het attribuut groepsnaam wordt genegeerd omdat de waarde 'prohibited' (verboden) voor attribuutgebruik er alleen voor zorgt dat he van een identieke attribuutnaam uit de basictypedefinitie wordt verhinderd。

错误:Er is een validatiefout opgetreden op een schema dat tijdens het exporteren werd gegenereerd: Bron: Regel: 17519 Kolom: 6 Validatiefout: Het attribuut elementnaam wordt genegeerd omdat de waarde 'prohibited' (verboden) voor attribuutgebruik er alleenmen voor zorgt dat het over van een identieke attribuutnaam uit de basictypedefinitie wordt verhinderd。

错误: Kan wsdl:portType niet importeren 详细信息: Er is een uitzondering opgetreden tijdens het uitvoeren van een WSDL-importextensie: System.ServiceModel.Description.XmlSerializerMessageContractImporter Fout: Kan geen ongeldige schema's importeren。Compilatie op de XmlSchemaSet 是错误的。XPad naar foutbron: //wsdl:definitions[@targetNamespace=' http://www.egem.nl/StUF/sector/zkn/0310 ']/wsdl:portType[@name='BeantwoordVraag']

错误:Kan wsdl:binding niet importeren 详细信息:Er is een fout opgetreden bij het importeren van een wsdl:portType waar de wsdl:binding van afhankelijk is。XPad naar wsdl:portType: //wsdl:definitions[@targetNamespace=' http://www.egem.nl/StUF/sector/zkn/0310 ']/wsdl:portType[@name='BeantwoordVraag'] XPad naar foutbron : //wsdl:definitions[@targetNamespace='http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:binding[@name='SOAPBeantwoordVraag ']

错误:Kan wsdl:port niet importeren 详细信息:Er is een fout opgetreden bij het importeren van een wsdl:binding waar de wsdl:port van afhankelijk is。XPad naar wsdl:binding: //wsdl:definitions[@targetNamespace=' http://www.egem.nl/StUF/sector/zkn/0310 ']/wsdl:binding[@name='SOAPBeantwoordVraag'] XPad naar foutbron : //wsdl:definitions[@targetNamespace='http://www.egem.nl/StUF/sector/zkn/0310']/wsdl:service[@name='BeantwoordVraag']/wsdl:port[@name= _ 'BeantwoordVraag']

正在生成文件... 警告:未生成任何代码。如果您尝试生成客户端,这可能是因为元数据文档不包含任何有效的合同或服务,或者因为发现所有合同/服务都存在于 /reference 程序集中。验证您是否将所有元数据文档传递给该工具。

警告:如果您想从模式生成数据协定,请确保使用 /dataContractOnly 选项。

0 投票
3 回答
4203 浏览

date - 为什么在生成服务引用时 s:date 类型的 XSD 元素会变成字符串?

我正在尝试从 WSDL 和我希望是 DateTime 而不是字符串的所有属性创建一个新的服务引用。

例如,Contact 的这个 xsd 定义:

BirthDate 的类型是 s:date,但生成的类型(在 Reference.cs 中)是一个字符串。

如果我创建一个 Web 项目并将其添加为 Web 引用而不是服务引用,它会正确地变为 DateTime。我认为这与 wsdl.exe 和 svcutil.exe 在幕后工作的方式有关,但无论如何,我一直在试图弄清楚如何正确让 Visual Studio 识别该属性应该是 DateTime。

0 投票
3 回答
2437 浏览

wcf - 如何在 WCF 数据协定中处理 xs:any

在 WCF 上摸不着头脑......我有 XML 消息,其中的孩子<DataFields>可以是任何东西,例如......

我已经在 BizTalk 中使用<xs:any>for the <DataFields>...

但我很难看到如何在 WCF 中处理这个问题[DataContract]......

我尝试同时使用svcutil.exexsd.exe来创建类,它们都提供了主要元素(CaseNo、Activity 等),但似乎都没有处理 xs:any of DataFields ...

  • svcutil 将 DataFields 作为 XmlElement
  • xsd 将其作为一个类,但具有 XmlElement [] 类型的 Any 属性

是否有可能更好地处理子元素?

0 投票
1 回答
73 浏览

wcf - 如何获取需要登录的soap服务的元数据?

我正在尝试获取需要使用 svcutil.exe 登录的服务的元数据。我怎样才能做到这一点 ?

0 投票
1 回答
976 浏览

c# - SvcUtil.exe 为服务合同实现类创建自己的类名 - WCF

我编写了 WCF 服务并托管在 IIS 6.0 中。当我尝试使用以下命令创建代理时

它正在 MyProxy.cs 中创建自己的类名。这是为什么?

我试图进入服务进行调试,但在调试期间我无法获得断点命中。这可能是因为我重命名了代理创建的类名吗?

在服务中,实现服务契约的类名类似于MyService. 但在代理文件中,我得到的是MyClient.

这是为什么?

谢谢

NLV

0 投票
1 回答
2082 浏览

c++-cli - 如何在 svcutil.exe 的命令行上指定 CppCodeProvider?

我正在尝试使用 svcutil 从 XSD 生成托管 C++ 代码。我正在使用的命令行是

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\xsd.exe" MyTest.xsd /classes /language:"Microsoft.VisualC.CppCodeProvider7, CppCodeProvider, Version=10.0.0.0, Culture=中立,PublicKeyToken=b03f5f7f11d50a3a" /namespace:MyTestApp

但是,我收到如下错误消息

错误:开关/语言的值“microsoft.visualc.cppcodeprovider7,cppcodeprovider,版本=10.0.0.0,文化=中性,publickeytoken=b03f5f7f11d50a3a”无效。没有为该语言定义代码域提供程序。

我知道我已经安装了 CppCodeProvider 作为 Visual Studio 安装的一部分。我也试过 /language:cpp 无济于事。对于同一个 XSD,我能够在 C# 中生成代码而没有任何问题。

有谁知道我做错了什么?

0 投票
1 回答
8635 浏览

c# - svcutil.exe - 错误:无法导入 wsdl:portType

我必须在我的 .net 应用程序中集成几个现有的 web 服务。但不幸的是,调用 svcutil 工具会导致错误消息:

Microsoft (R) 服务模型元数据工具 [Microsoft (R) Windows (R) Communication Foundation,版本 3.0.4506.2152] 版权所有 (c) Microsoft Corporation。版权所有。

错误:无法导入 wsdl:绑定详细信息:找不到http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/V1.0:EnviarRespuestaVerifi carIdentidadCliente 的定义。 缺少命名空间http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/V1.0的服务描述。参数名称:名称 XPath 到错误源://wsdl:definitions[@targetNamespace=' http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/E nlace/V1.0']/wsdl:binding[@name ='EnviarRespuestaVerificarIdentidadCliente_HttpBinding']

错误:无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。XPath 到 wsdl:binding: //wsdl:definitions[@targetNamespace=' http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/E nlace/V1.0']/wsdl:binding[@name='EnviarRespuestaVerificarIdentidadCliente_HttpBinding '] XPath 到错误源://wsdl:definitions[@targetNamespace=' http://grupobancolombia.com/intf/Clientes/GestionClientes/EnviarRespuestaVerificarIdentidadCliente/Enlace/V1.0']/wsdl:service[@name= ' EnviarRespuestaVerificarIdentidadCliente']/wsdl:port[@name='EnviarRespuestaVerificarIdentidadCliente_HttpPort']

正在生成文件... 警告:未生成任何代码。如果您尝试生成客户端,这可能是因为元数据文档不包含任何有效的合同或服务,或者因为发现所有合同/服务都存在于 /reference 程序集中。验证您是否将所有元数据文档传递给该工具。

警告:如果您想从模式生成数据协定,请确保使用 /dataContractOnly 选项。有谁知道是什么导致了这个问题?

0 投票
2 回答
1451 浏览

web-services - 无法使用具有泛型集合 Datatype 类型的方法生成 wsdl 文件。?

我有一个 Web 服务,它有一个参数类型为 Collection(字节)的方法。当我尝试使用 wsdl 命令生成代理但数据类型被转换为一维字节数组时。

所以我想创建一个wsdl文件,它的类型为Collection(of byte),使用Add as Service Reference,但即使我将集合类型指定为Collection.objectModel,参数的数据类型仍然是一维字节数组。

有什么办法可以做到这一点,或者我需要手动更改代理文件。?

0 投票
1 回答
5933 浏览

wcf - WCF svcutil 错误:无法从 localhost 获取元数据

我一直在寻找这里的问题,看看是否已经解决了类似的问题。我还没有找到解决方案,所以希望有人可以提供帮助并为我指明正确的方向。

我有一项服务,并且可以成功导航到本地主机上的 svc 页面。

https://localhost/WebSite/UploadService/UploadService.svc

这与通过将 ?wsdl 附加到 url 来查看 wsdl 一样按预期工作。

但是我无法使用 svcutil 生成客户端代理。

svcutil.exe https://localhost/Website/UploadService/UploadService.svc?wsdl

当我运行这个命令时,我得到了通常的

尝试使用 WS-Metadata Exchange 或 DISCO从“ https://localhost/Website/UploadService/UploadService.svc ”下载元数据。Microsoft (R) 服务模型元数据工具 [Microsoft (R) Windows (R) Communication Foundation,版本 3.0.4506.2152] 版权所有 (c) Microsoft Corporation。版权所有。

错误:无法从 https://localhost/Website/UploadService/UploadService.svc获取元数据

WS 元数据交换错误 URI:https://localhost/Website/UploadService/UploadService.svc

' https://localhost/Website/UploadService/UploadService.svc ' 。无法为具有权限“localhost”的 SSL/TLS 安全通道建立信任关系。基础连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。根据验证程序,远程证书无效。

HTTP GET 错误 URI:https://localhost/Website/UploadService/UploadService.svc 下载“ https://localhost/Website/UploadService/UploadService.svc ”时出错。基础连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。根据验证程序,远程证书无效。

我浏览了这篇文章并尝试了它的概述。遵循这些建议后,服务器名称是一致的,但我仍然无法生成客户端代理文件。