草庐IT

wcf-ria-services

全部标签

xml - 使用 WebHttpBinding 设置为基本身份验证的 WCF 进行 POX REST 调用时双重请求

在将WebHttpBinding设置为基本身份验证(HttpClientCredentialType.Basic)的情况下使用WCF进行POXREST调用时出现问题不是从具有HTTPheader中指定的“Authorization:Basic”的客户端调用一次,而是进行两次调用。第一次调用完全没有身份验证,服务响应401Unauthorized错误,第二次调用使用正确的身份验证信息。这似乎是由WCF服务处理的,完全没有问题。调用第三方服务显然会产生问题,因为它们会立即响应错误。服务代码:[ServiceContract]publicinterfaceIService{[Operatio

xml - 当 WCF 方法返回 XmlElement 时,客户端看到 XElement 返回了吗?

我从WCf方法返回一个xmlElement。当我在客户端执行服务引用时,相同的方法返回XElement而不是XmlElement。我尝试了所有方法:更新服务引用、制作新的服务引用,但没有帮助。这是我的客户:ServiceReference1.BasicServiceClientbasicWCfClient=newServiceReference1.BasicServiceClient();XmlElementxmlelement=basicWCfClient.GetData(5);basicWCfClient.Close();我得到一个错误:“无法将类型‘System.Xml.Linq

c# - 从 WCF 服务返回类型化数据集导致未找到 'xs:string'

考虑通过WCF公开服务的服务器。OperationContract之一返回名为TraceDataSet的类型化数据集,其中包含服务器上跟踪的快照。返回数据集时,在自定义VisualStudio工具生成的文件中发生的ReadXml在ReadXmlSerializable方法中抛出一个Undefineddatatype:'xs:string'.我在客户端和服务器上添加了WCF跟踪,但WCF通信工作正常。我做了一些研究,但没有定论,而且我还从MSDN论坛收到404错误。我检查了XmlReader后面的流,它确实包含xmlns:xs命名空间的声明,所以我在那里有点困惑。如果我将DataSet序

xml - WCF REST 问题、绑定(bind)、配置

我正在使用json开发WCF休息界面。我已将该服务包装在Windows服务中以托管该服务,但我现在无法调用该服务。我不确定到底出了什么问题。基本思想是我想在远程服务器上托管服务,因此我希望服务映射到端口localhost:7600,以便可以通过将数据发布到[server_ip]:7600来调用它。问题很可能出在配置文件中,因为我是WCF和Rest的新手,所以我不确定要为配置键入什么内容,如果一团糟,我们深表歉意。我删除了几block代码和注释,使其更易于阅读。这些函数应该与服务无关,因为它们仅调用C#函数。编辑:我查看了建议的帖子,并重写了代码,但不幸的是,它仍然无法正常工作。Maby

asp.net - 在被 WCF 类解析之前,如何在 IIS 中即时修改不正确的 XML header (编码)?

我有一个客户端向服务器提交XML数据的Web请求(POST)。XML的头部显示为但数据确实是utf-8.我们正在尝试拦截现有流(每个相关人员都意识到这一点,我们正在尝试进行存储转发,这样如果出现任何停机时间,我们至少可以缓冲请求)但IIS似乎拒绝了XML,因为实际编码与声明的编码不匹配。如果我们手动(在测试客户端应用程序中使用字符串作为我们的原始值)强制编码字节流并将字符串中的编码值设置为UTF-32或UTF-8C#并将其推送到我们的WCF方法中,它工作正常。但是在读取UTF-16的文件中发送带有header的UTF-8编码值时,它会爆炸。最后,也是最令人恼火的是,我不是这方面的主要开

c# - 如何在 WCF 响应中重命名 xml root?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WCFREST:removeprefix“ArrayOf”forwcfmethodresponse我在C#中定义了一个简单的WCF服务,如下所示:[ServiceContract]publicinterfaceIAugeService{[OperationContract][WebGet]ListDetectedFaces();}我可以使用WebHttpBinding创建端点,并且大部分工作正常。但是生成的xml响应中根元素的名称是从返回类型派生的,所以我得到如下内容:...我需要给根节点一个不同的名字。我试

WCF RESTful 服务中的 XML 声明标记

像这样包含XML声明标记是否正确进入WCFRESTful服务响应?下面的XSD描述了服务响应:另外,如果编码更改为UTF-16,我们是否需要强制设置声明标记? 最佳答案 XML声明将文档定义为XML,而不是恰好有很多尖括号的纯文本。所以从技术上讲,是的,您应该将它包含在XML文档中,以确保服务将其正确理解为XML.但是,在很多情况下,XML解析器会尝试将一大块纯文本正确解析为XML,如果它格式正确,即使没有包含XML声明也是如此。根据问题的第二部分,当您开始想要更改文档的编码时,声明就变得必要了。因此,如果其他系统开始不得不使用您正

c# - WCF:单个方法或接受 xml 的通用 ProcessMessage 方法

我的公司正在开发一个应用程序,它通过TCP套接字和xml消息从另一家公司接收数据。这被传送到单个网关应用程序,然后将其广播到我们组织中不同机器上同一内部应用程序的多个副本。WCF被选为处理内部通信(内部双向)的技术。开发人员考虑了两种方法。公开的个别方法每个不同的WCF服务网关收到的消息应用。网关应用程序将解析传入的外部消息并调用适当的WCF服务方法。这传入的XML将被翻译进入DataContractDTO并提供作为适当WCF的参数方法。内部应用公开了一个WCF服务方法“ProcessMessage”接受Xml字符串消息作为争论。内部应用程序将解析然后反序列化收到的xml并相应地处理它

xml - WCF 数组序列化

我正在使用一个以整数数组作为参数的WCFOperationContract。它正在使用basicHttpBinding。我注意到从使用VisualStudio“添加Web引用”生成的客户端生成的SOAP包括xmlns:100101102...etc这将增加具有大数组的序列化流的大小。有什么办法可以消除这个xmlns属性吗?对于WCF客户端,生成的SOAP看起来更像我所期望的:100101102...etc.. 最佳答案 不幸的是,这实际上是客户端代理的功能,而不是您的服务。在此示例中,您正在查看使用XML序列化与数据协定序列化的客户

c# - 使用 WCF 从 MSMQ 队列接收任何 XML 消息?

我有一个MSMQ,它从各种来源接收XML格式的消息。我有一个WCF端点(使用MsmqIntegrationBinding),我想接收这些消息。我定义了以下内容:[ServiceContract(Namespace="http://TestApp.MSMQService",ProtectionLevel=ProtectionLevel.None)][ServiceKnownType(typeof(String))]publicinterfaceIMsmqReceiverService{[OperationContract(IsOneWay=true,Action="*")]voidSub