问题标签 [service-reference]
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.
c# - .NET SOAP 序列化无界序列
我们有一个 WSDL,其中包含以下类型定义:
在 VS 2010 中将服务添加为服务引用时,OrderItems
该类包含一个item
类型为OrderItem[]
. 然后生成 SOAP 请求,如下所示:
使用XmlArray
和XmlArrayItem
属性我们可以分别控制<OrderItem>
和<item>
元素的名称,但不能得到想要的结构:
我知道如果 WSDL 指定了类似的东西而不是无界序列,则可以避免这个问题<xsd:restriction base="soap-enc:Array">
,但鉴于上述情况是使用某些自定义序列化的唯一方法吗?
编辑: https ://gist.github.com/1422704 上的示例 WSDL
wcf - WCF: Add Service Reference does not generate client proxy code
I am trying to walk through this project sing Visual Studio 2010 Express
http://www.codeproject.com/KB/windows-phone-7/Text_to_speech_in_wp7.aspx?display=Print
to test Windows 7 phone text to speech. When I add a reference to
all seems to work. However, I do not get client proxy code. Reference.cs is empty and Visual Studio presents the following warnings and errors:
Warning 1 Custom tool warning: Cannot import wsdl:portType Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter Error: Could not load type 'System.Runtime.Serialization.DataContractSet' from assembly 'System.Runtime.Serialization, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. XPath to Error Source: //wsdl:definitions[@targetNamespace='http://api.microsofttranslator.com/V2']/wsdl:portType[@name='LanguageService'] D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
Warning 2 Custom tool warning: Cannot import wsdl:binding Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on. XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://api.microsofttranslator.com/V2']/wsdl:portType[@name='LanguageService'] XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_LanguageService'] D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
Warning 3 Custom tool warning: Cannot import wsdl:port Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on. XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='BasicHttpBinding_LanguageService'] XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:service[@name='SoapService']/wsdl:port[@name='BasicHttpBinding_LanguageService'] D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
Warning 4 Custom tool warning: No endpoints compatible with Silverlight 3 were found. The generated client class will not be usable unless endpoint information is provided via the constructor. D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
Warning 5 Custom tool warning: Exception has been thrown by the target of an invocation. D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
Error 6 Custom tool error: Failed to generate code for the service reference 'MicrosoftTranslator'. Please check other error and warning messages for details. D:\Documents\Visual Studio 2010\Projects\TrackMe\TrackMe\Service References\MicrosoftTranslator\Reference.svcmap 1 1 TrackMe
Unchecking 'Reuse types in referenced assemblies" does not help either.
Anyone run into this before?
silverlight - 生成 Silverlight 服务参考 - 如何判断导致生成代理类的原因
我想在 .Net4 后端和 Silverlight 5 前端之间共享一个大型对象结构。我已经创建了两个适当类型的类库项目,并在 .Net 库中实现了我的对象结构,并链接到 SL 库中。在 Silverlight 客户端,我引用的是 Silverlight 类库。当我生成服务引用时,我检查了“在引用的程序集中重用类型”选项。但是,当我生成服务引用时,我发现仍在生成引用程序集中的类型。它只是某些类型,并且似乎主要是集合类型(带有<CollectionDataContract>
)。
我有一个主对象,它具有许多属性,这些属性通常是List<MyTypeA>
或者在某些情况下是MyListTypeB
继承MyListTypeB
自List<MyTypeB>
. 似乎是与MyListTypeB
生成代理类似的类。这些都归因于<CollectionDataContract>
并具有默认构造函数。
我还发现,即使我向其中添加服务引用的项目具有对包含实体的其他 SL项目的引用,但当我更新服务时,也会将直接对 dll 的新引用添加到项目中。我不确定为什么会发生这种情况,或者它是否会导致服务代理生成混乱
有什么方法可以判断哪些类/属性导致服务生成生成代理类?或者它是一个反复试验的情况,必须注释掉属性,直到它们没有被生成并在问题类上磨练?
c# - 如何添加具有固定端口的 WCF 服务引用?
我有一个 WCF 服务被一个 Windows 服务用这个在app.config
当我尝试向我的服务添加服务引用时(通过单击“添加服务引用”提示中的“发现”),URI 会显示为http://localhost:33908/AgileService.svc
我希望我的服务http://localhost:24453/AgileService
用作 URI。我怎样才能做到这一点?
c# - 仅为 WCF 服务上可用的服务合同接口之一生成客户端
我目前正在重构一个大型 WCF 服务,该服务由多个不同客户端应用程序使用的一个服务合同接口(从这里开始为“SCI”)组成。我已经拆分了 SCI,因此对于每种类型的客户端应用程序,都有一个特定于其所需操作的 SCI。SCI 的一些共享部分在基础 SCI 中定义,客户端应用程序特定的 SCI 继承该基础 SCI。
有一个服务类可以实现所有客户端特定的 SCI。共享基础 SCI 存在菱形接口继承情况这一事实有时意味着同一操作可通过多个 SCI 获得。当自动生成客户端(尤其是使用异步客户端方法)时,生成的代码有很多丑陋的<generated-type>1,2,3
等等......
为了避免这种情况,我想为每个客户端应用程序添加一个服务引用,它只为与该特定应用程序相关的 SCI 生成一个客户端。由于相同的功能出现在不同的 SCI 上,这应该不会导致任何问题。
这可能吗?
在这种情况下实现模块化和代码重用的任何其他技巧也将不胜感激。
asp.net - 应将哪些文件添加到源控制(服务参考)
当我将服务引用添加到我的 .Net 项目(右键单击->添加服务引用)时,VS 使用服务名称创建了一个文件夹并创建了一堆文件(如下所列)。我不确定应该将哪些文件添加到源代码管理中,以便下次升级服务参考时,我最终不会删除一些文件并添加新文件。VS 在服务文件夹中创建的文件列表如下:
.net - Visual Studio/.NET 服务参考 HTTP 版本
我正在向我的项目添加“服务引用”,我们遇到了一个问题,我们认为这可能是由于 HTTP 版本(1.0 与 1.1)的差异造成的。有谁知道默认使用哪个版本,或者在我的请求期间我可以在哪里找到使用哪个版本?
c# - WebService 不会通过 ServiceReference 更新
我的 Visual Studio 解决方案中有两个项目:一个是WcfService 应用程序项目,另一个是普通的C# Silverlight 项目,带有用于在本地访问 Web 服务的ServiceReference 。
基本上一切正常,除了我的 Web 服务中的更改在我的 SL 项目中不可见:
例如,如果我修改服务接口的 [DataContract] 类中的某些属性,两个项目都编译得很好,但是在 SL 项目中访问 Web 服务时,我只有修改前的状态。
在 VisualStudios ObjectBrowser 中查看 ServiceReference 给了我相同的结果:我的 Web 服务没有修改。
我通过内置的自动“添加服务引用”功能将 ServiceReference 添加到 SL 项目中。每次我修改 Web 服务时,我都会在 SL 项目中的服务参考上单击“更新服务参考” ,这会成功但没有效果。即使删除服务引用并再次添加它也不会向我显示具有更改属性的 Web 服务。
可能是因为几天前我重命名了服务项目 - 我从解决方案中卸载了服务项目,重命名了文件系统中的文件夹并将其作为“现有项目”再次添加到解决方案中。然后我重命名了服务文件(.svc & .svc.cs)和服务接口文件。==> 之后,除了我无法识别的修改之外,一切似乎都可以正常工作?!此外,在向该服务添加 ServiceReference 时,我看到我重命名的两个文件的旧名称而不是新文件!?
有谁知道这里发生了什么?提前感谢您阅读这个长长的问题;)
wcf - 手动创建客户端代理和引用 MSMQ WCF 服务之间的区别?
在大多数使用 MSMQ 传输的 WCF 服务示例中,始终首选使用 Visual Studio 命令提示符中的 svcutil 手动创建代理,而不是简单地添加服务引用。当您可以通过向 Visual Studio 中的“添加服务引用”对话框提供其端点地址来引用该服务时,为什么要使用 VS 命令提示符创建代理(因为它稍微费力一些)?我在阅读WCF 4 Step by Step时遇到了这个问题:
请注意,您不能轻松地使用 Visual Studio 中的添加服务引用向导来添加对使用 MSMQ 传输的 WCF 服务的引用。
为什么很难呢?引用 WCF 服务的前一种方法到底有什么好处(如果有的话)?在我看来,手动创建代理只是不必要地使任务复杂化。
c# - .NET 中的多部分消息传递与服务引用 c#
我已经寻找了几个小时,但没有找到我认为是一个有点普遍的问题的答案。
我有很多数据(字符串 [2000000])我想通过服务引用(asmx)发送到服务。SOAP 由于现在的大小而爆炸,我不想增加管道,因为明天可能要发送 4M 字符串。
所以我在考虑多部分 SOAP 消息,但是 .NET 本身并不支持这个(对吗?)。那么如何去做呢?任何帮助或链接将不胜感激。
调用代码: