草庐IT

wcf-endpoint

全部标签

.net - 使用 DataContractSerializer 在 WCF 中序列化和反序列化 XmlDocument

我有一个WCF服务,它接受一个字符串作为其操作契约(Contract)之一的参数。但是,此字符串中包含xml内容。我需要将其转换为标记为DataContract但不向外界公开的类。我需要使用DataContractSerializer,因为类成员的[DataMember]属性设置为不同的名称。例如:属性Phone的DataMemberName设置为"Telephone",因此当我使用普通序列化程序反序列化xmldocument时,我在反序列化程序查找Phone元素不存在。如何使用DataContractSerializer反序列化XmlDocument?不过,一个限制是我无法将xmld

.net - WCF - 自定义客户端请求/响应 XML

我正在尝试使用供应商提供的带有WCF客户端的AXISWeb服务。该服务期望具有请求/响应元素作为SOAP主体的根元素(没有包装它的操作元素)。我正在使用XmlSerializer,因为我的数据协定具有一些自定义ACORD架构特性。例如,服务器希望看到以下内容(...是的,“服务”是操作的名称...):......我的客户端生成的XML操作序列化为包装元素,如下所示:......使用“extra”标记指示请求中的操作,服务无法处理请求和错误。如果我删除标记Web服务愉快地处理请求。不幸的是,该服务还发送带有未包装的的响应。标记为根元素:......我的反序列化器没有正确处理响应,我得到一

c# - 为 WCF REST 服务生成示例数据?

是否有某种方法可以基于WCFREST接口(interface)生成示例XML/JSON?大多数情况下,使用我们的Web服务的设备会将消息反序列化为相关对象。然而,有时这是不可能的,因此我需要向开发人员发送他们需要提供给服务的实际XML/JSON以及输出的样子。是否有生成此信息的简单方法,即使它使用数据类型默认值?网络服务接口(interface)示例:[OperationContract][WebGet(UriTemplate="Test",ResponseFormat=WebMessageFormat.Xml)]ResultOfActionTest();//usedtologin[O

xml - 跨 WCF Web 服务请求序列化通用 XML 数据

我有一个向WCF服务发送请求的Web应用程序。WCF服务获取LINQ结果集(anon.ilist)并将其作为答复发送回Web应用程序。为了让它快速运行,在WCF应用程序中,我正在使用copytodatatable并将其发送到数据集中的网络应用程序。然后我的网络应用程序获取数据集并将其写入xml,执行一些xslt并将结果数据显示在屏幕上。完美的。...嗯,不是真的。我对WCF还是(相对)陌生。我知道发送DataTables/DataSets有点麻烦。Web应用程序需要xml格式的数据(用于xslt操作),所以我想我应该让WCFWeb服务为我完成DataTable->xml工作,然后简单地

xml - 没有复杂序列化的简单 WCF 服务 (POX)

我是一个完全的WCF新手。我正在尝试构建部署一个非常非常简单的IIS7.0托管Web服务。由于我无法控制的原因,它必须是WCF而不是ASMX。它是预先存在的Web应用程序的包装服务,它只执行以下操作:1)接收带有请求正文XML封装表单元素的POST请求。值(value)值(value)之类的东西。这是未类型化的XML,并且XML是原子的(一种形式)而不是记录/对象的列表。2)向请求XML添加几个标记,并使用简单的POST+裸XML调用另一个基于HTTP的服务——这实际上将由一些内部SQL操作添加,但这不是问题。3)从第3方服务接收XML响应并将其作为响应中继到步骤1中的原始调用客户端。

xml - 我应该在 WCF 之前学习 XML 吗?

a)我打算开始学习WCF,但我不确定先学习XML是否重要。如果应该在学习WCF之前学习XML,为什么?b)如果应该在学习WCF之前学习XML,那么我宁愿只学习理解WCF所需的部分。那么应该处理以下哪些XML技术以及处理的详细程度:XML基础知识DTDXML模式XPathXSLTXQuery谢谢 最佳答案 我建议您在学习WCF时学习一些您需要了解的XML。例如,我的一位同事对XML一无所知,直到他需要知道如何将XQuery用于返回XML的SQL查询。该项目教会了他需要了解的知识,因此他能够花更多时间学习使用SQLServer的XQue

c# - WCF - 反序列化时控制命名空间

外部(java)应用程序向我们的网络服务发送消息。此消息包含多个命名空间:0300Fo01200LVOtestWCF服务无法反序列化此消息,因为第二行有LVO前缀(根据WSDL,它应该是StUF)。我想让我们的网络服务接受这些消息。有没有办法做到这一点-最好使用属性? 最佳答案 我在接受来自第三方的soap消息时遇到了这个问题。这是我发送的soapHeader(注意UsernameToken中的不同命名空间):userNamepasswordnonce2015-02-19T16:24:32Z为了正确反序列化,我需要在我的DataCo

.net - 从 .NET 3.5 WCF Web 服务 (REST) 返回 JSON 和 XML 格式

我有一个返回XML响应的现有Web服务,我想添加一些返回JSON的新方法。我是否必须创建一个以JSON格式返回的单独Web服务,或者我可以混合使用吗?如果我使用ResponseFormat=WebMessageFormat.JSON,我需要使用[DataContractFormat]对服务进行注释,但我似乎无法使用xml类型响应格式所需的[XmlSerializerFormat]。 最佳答案 我不明白为什么这是不可能的。您使用[ServiceContract]属性(而不是DataContractFormat)注释服务。它应该看起来像

.net - WCF 客户端(添加服务引用)讨厌 WebGet 和 WebInvoke ...真的,它确实如此

我一直致力于创建独立于.Net客户端运行的WCF服务。感谢Google和StackOverflow,我已经能够创建简单的xml和json服务,而无需Soap包装器和一堆我不需要的花哨的WCF东西。这是一次痛苦的经历,因此是这个问题的主题。在自动添加服务引用时使用WebGet和WebInvoke时,WCF在客户端会出现严重错误。为了检查通信,我一直在本地创建一个WCF客户端并通过Fiddler传递所有内容.这样,无论它是否有效,我至少可以看到客户端试图发送的内容。当它最终起作用时,我可以看到从两端发送的数据,然后在非.Net客户端中复制此通信。我当前的问题是,当我将服务更改为期望POST

xml - 使用 WebInvoke 在 WCF REST 服务主体中传递 XML 字符串

我是WCF、REST等的新手。我正在尝试编写服务和客户端。我想将xml作为字符串传递给服务并获得一些响应。我试图将正文中的xml传递给POST方法,但是当我运行我的客户端时,它只是挂起。当我更改服务以接受参数作为uri的一部分时,它工作正常。(当我将UriTemplate从“getString”更改为“getString/{xmlString}”并传递一个字符串参数时)。我正在粘贴下面的代码。服务[ServiceContract]publicinterfaceIXMLService{[WebInvoke(Method="POST",UriTemplate="getString",Bod