问题标签 [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 投票
2 回答
6667 浏览

xsd - 在 wsdl 上使用 SvcUtil.exe 生成代理类时出错 - xs:group 元素

我正在尝试对 wsdl 文件使用 SvcUtil 来生成代理类,但是我遇到了一个元素丢失错误,我认为该错误与架构组元素有关。有谁知道 svcutil 是否可以处理的事实?如果是这样,它将处理具有指向另一个模式文件中的组定义的 ref 属性的 xs:group 元素吗?

SvcUtil.exe 命令(也包括 xsd 文件的路径):

错误是:

错误:无法导入 wsdl:portType 详细信息:运行 WSDL 导入扩展时引发异常:System.ServiceModel.Description.XmlSerializerMessageContractImporter 错误:缺少组 InfrastructureRootElements。错误源的 XPath://wsdl:definitions[@targetNamespace='urn:ihe:qrph:rpe:2009']/wsdl:portType[@name='ProtocolStateManager']

协议状态管理器.wsdl:

RPE.xsd(由 ProtocolStateManager.wsdl 引用):

来自 PORT_MT100001UV.xsd 的片段(由 RPE.xsd 引用) - 注意“InfrastructureRootElements”xs:group:

InfrastructureRoot.xsd(由 PORT_MT100001UV.xsd 引用)请注意此处的 InfrastructureRootElements 组的定义 - 这是上述架构中具有 ref 属性的同一组:

0 投票
2 回答
1184 浏览

wcf - 使用 SLSvcutil(或 svcutil)排除 WCF FaultContracts

基本上,我有一个需要访问 WCF 服务的silverlight 2客户端(因此我使用了 SLSvcutil)。

任何人都知道如何防止 SLSvcutil.exe 使用 FaultContractAttributes 装饰 OperationContracts?

我正在针对 WCF 服务运行 SLSvcUtil,该服务的操作都由 Faultcontracts 修饰。

不幸的是,我不能真正提供任何代码,只是想知道是否有人有一个模糊的想法。我似乎无法让excludeType开关工作,这是我对如何实现这一点的第一个猜测。

谢谢

0 投票
1 回答
1518 浏览

wcf - 控制使用 svcutil.exe 生成的 wcf 代理类名称

运行 svcutil.exe 生成客户端代理时,是否有简单的命令行开关或重命名生成的类名的技巧?

0 投票
2 回答
8417 浏览

c# - 使用 svcutil.exe 为多个 WCF 服务创建代理类的错误/警告

我正在编写一个 .NET 3.5 应用程序并且可以控制 WCF 服务和客户端。

我正在使用 svcutil 为我的服务生成代理类,将多个服务组合在一起,因为它们共享数据类型。

更严重的问题是错误——我有一个类被创建了两次,导致很多“'Global.ServiceReference.MyClass.MyField'和'Global.ServiceReference.MyClass.MyField'之间的歧义”错误。请注意,目前,此类仅在其中一项服务中引用,但将来它将被更多服务引用。

生成的两个类如下所示:

根据应用于它们的属性,这与 DataContractSerializer 与 XmlSerializer 有关,但我不太明白这些是什么意思。

第二个问题是 svcutil 给出了一大堆形式的警告:

即使使用两个非常简单的服务也会发生这些错误。例如,如果服务 #1 有

和服务#2有

...我收到警告。大约有 100 个,都在抱怨各种 globalElements、globalAttributes 或 simpleTypes,如 guid、duration、char 等。

如果我将其中一项服务更改为只有 void 参数/返回类型,我不会收到警告。这真的很令人困惑,因为这是最简单的测试。根本不使用任何自定义类型,svcutil 令人讨厌。知道这里发生了什么吗?

0 投票
1 回答
1388 浏览

.net - svcUtil 错误“SchemaLocation”必须成功解决,如果包含除

我正在尝试从第 3 方 wsdl 和 xsd 文件生成代理。我这样调用 svcutil :

它返回此错误:“SchemaLocation”必须成功解析,如果包含除 .

所有文件中只有一个元素,它的 schemaLocation 属性指向同一目录中的另一个文件。我尝试完全限定 uri,但这没有帮助。

想法?

0 投票
2 回答
977 浏览

c# - WCF 代理生成

我正在使用 svcutil 工具生成代理。我的合约方法返回特定类型的对象。但是,生成的代理客户端接口具有对象类型的返回值。更重要的是,我收到消息异常:

有什么想法吗?

0 投票
1 回答
143 浏览

c# - 我想将日期添加到我的日志文件中

如果您记录 wcf 调用和消息,日志文件会变得非常大、非常快。我想按日期拆分日志文件。我可以编写自己的跟踪侦听器,但如果可能的话,我更喜欢日志中的一些常量。像这样的东西

这将输出这样的日志文件:SomeLogFile2009-12-01

我怎么做?

0 投票
2 回答
2019 浏览

wcf - 如何让 WCF 与此 Web 服务对话?

这是对这个问题的跟进。

正如@Benjamin here所建议的那样,我现在正在尝试为我的 wsdl 添加服务参考(而不是 Web 参考)。这是相关wsdl的网址:

https://eu.link.fiatauto.com/tsi/DDUWsAut.php?wsdl

问题是 Visual Studio 生成一个空的代码文件:

当我尝试使用 svcutil 手动生成代码时,我得到以下信息:

也许这也与尝试通过添加 Web 引用而不是服务引用来使用服务时出现问题的事实有关(请参阅我的其他问题)?

我想那个 wsdl 有问题,但我找不到到底是什么。

由于这是已被其他人使用的第三方服务,我认为他们不会愿意更改他们的服务,那么是否有任何解决方法可以让 .NET 与该 Web 服务通信?

0 投票
2 回答
10982 浏览

wcf - SvcUtil.exe 的替代品?

我整天都在与 SvcUtil 搏斗,试图让它为一些 IMS 企业服务(主要是组管理服务,但还有其他我们需要它来工作)生成有用的代码。你可以在这里找到 IMS 服务 WSDL http://www.imsglobal.org/es/index.html

我得出的结论是,SvcUtil 是微软的一个无用的事后想法,即使是半途而废的方式也不支持 WSDL 和 XSD 标准。它无法生成符合 IMS 同时使用的标准 WSDL 合同的 WCF 服务 AND 功能。尽管从以下 WSDL ( http://www.imsglobal.org/services/gms/wsdl/imsGroupManServiceSync_v1p0.wsdl),观察从 WCF 服务生成的 WSDL(?wsdl、?wsdl=wsdl0、?xsd=xsd0 等)表明不存在任何操作,并且只有一小部分在代码中生成的类型被实际识别由 WCF 提供。如果我们搞砸生成的代码,我们可以得到某种功能(我们正在使用 SoapUI 进行测试),但它不再符合合同,所以它对真正需要调用这些服务的人来说毫无用处。

SvcUtil 有什么替代品吗?(请不要建议使用内置的 Visual Studio“添加服务引用”工具,因为它使用与 SvcUtil 完全相同的代码。)我们需要一些能够让我们在一定程度上控制代码生成方式的工具从 WSDL 合同中,每个部分最终在什么文件中,每个代码元素在哪些命名空间中结束,等等。IMS 合同导入特定于 WSDL 中定义的服务的 XSD 类型,以及所有通用的 XSD 类型IMS 服务。我们需要能够为这些类型生成不同的程序集,并在生成的代码中引用它们(类似于 SvcUtil 显然应该这样做......但它似乎并没有按照它的文档所说的那样做完全没有。)

到目前为止,我一直是 WCF 的忠实粉丝。当您仅使用 .NET/WCF 服务时,它显然可以工作,但任何时候您尝试在符合标准的跨平台环境中使用它时,一切都会变得糟糕。

0 投票
1 回答
1499 浏览

c# - SvcUtil.exe 生成多个wsdl文件

我在 Visual C# 2008 Express 中创建了一个项目,其中包含多个带有服务合同的接口。我使用 scvutil.exe 工具从中生成一个 WSDL。这一切都很完美:我得到了一个很好的工作 WSDL 文件。但是,我希望该工具能够为不同的接口生成单独的 WSDL 文件。现在它将所有内容放在一个大的 WSDL 文件中。有没有办法做到这一点,而不仅仅是将所有这些接口放在单独的项目中,而不是一个一个地生成 WSDL 文件?