jjzjj

xml - 涉及复杂类型的 WCF Rest 参数

正在设置一个使用webHttpBinding的WCF服务...我可以从方法中以XML形式返回复杂类型。如何将复杂类型作为参数?[ServiceContract(Name="TestService",Namespace="http://www.test.com/2009/11")]publicinterfaceITestService{[OperationContract][WebInvoke(Method="POST",BodyStyle=WebMessageBodyStyle.Bare,UriTemplate="/Person/{customerAccountNumber},{use

c# - WCF Xml 序列化和自动实现的属性

我正在试验WCFRESTfulWeb服务,但我遇到了自动实现属性的问题。我有一个名为DeviceDescriptor的类,定义如下:publicclassDeviceDescriptor{publicstringDeviceId{get;set;}publicstringDisplayName{get;set;}}我有一个RESTfulWCF服务,它应该返回一个DeviceDescriptors列表-这是我的服务契约(Contract):[ServiceContract]publicinterfaceIChooser{[WebGet(UriTemplate="/Chooser/Regi

c# - 找不到与具有绑定(bind) WSHttpBinding 的端点的方案 http 相匹配的基地址

我在我的本地计算机上使用自签名证书进行了wcf用户名/密码身份验证,一切正常,但是当我将我的应用程序放在IIS7.5和WindowsServer2008R2上时,它给了我错误:找不到与具有绑定(bind)WSHttpBinding的端点的方案http相匹配的基址。注册基址方案为[https]。我的网络服务配置文件: 最佳答案 听起来您托管的IIS网站实例仅为HTTPS(SSL)配置。右键单击网站实例并选择“编辑绑定(bind)...”。你看到那里列出的端口80(普通HTTP)了吗?还要检查“SSL设置”功能以确保“始终需要”选项未打

c# - 如何自定义 WCF XML 序列化

我们有一个现有的SOAPWeb服务接口(interface),我们希望使用WCF为新应用程序实现该接口(interface)。除了一个小细节外,这似乎工作正常。函数返回类型的XML命名空间必须不同于Web服务本身的XML命名空间。对于我的生活,我无法让它工作。我用一个小示例项目重现了同样的问题。WCF接口(interface):[XmlSerializerFormat][ServiceContract(Namespace="urn:outer-namespace")]publicinterfaceIService1{[OperationContract]MyClassDoStuff(i

c# - 由于 XML 节点的顺序不正确,DataContract 反序列化失败

我对DataContractSerializer的行为感到困惑。我们的配置是基于XML的。XML用作DataContractSerializer.ReadObject方法的源。最近遇到反序列化对象的某些属性没有设置的问题。我跟踪了更改并发现这些属性是手动添加到XML中的。我认为这是可以的。显然这在DataContractSerializer的意见中是不正确的,因为它似乎期望XML节点按字母顺序排序。真的?!反序列化看起来真的很简单——顺序读取XML,解析节点名称,设置相应的属性。订购的目的是什么?有解决办法吗?也许是DataContractSerializer的某种设置?

c# - 解析/反序列化 MTOM/XOP 数据 .NET

我如何解析/反序列化MTOM/XOP我从使用WCF的Web服务获得的响应?我在磁盘上有响应。我已复制以下回复:Date:Wed,02May201209:38:57GMTServer:Microsoft-IIS/6.0P3P:CP="BUSCURCONoFINIVDoONLOURPHYSAMoTELo"X-Powered-By:ASP.NETX-AspNet-Version:4.0.30319X-WindowsLive-Hydra:H:BLU165-ds6V:16.3.133.328D:2012-03-29T02:31:31X-Response-Time:78.1245X-Transac

c# - 并非 WCF 数据协定中的所有参数都通过 Web 服务调用

在创建WCFRest服务时,我注意到并非我的Web服务中的所有参数都进入了我的实现。这是界面:[ServiceContract(Namespace="http://example.com/recordservice")]publicinterfaceIBosleySchedulingServiceImpl{[OperationContract][WebInvoke(UriTemplate="Record/Create",RequestFormat=WebMessageFormat.Xml,ResponseFormat=WebMessageFormat.Xml,BodyStyle=Web

xml - WCF 是否总是使用 SOAP 通过您的绑定(bind)发送信息?

我知道您可以从一系列绑定(bind)中进行选择,例如TCP、HTTP、HTTPS等。我认为它总是使用SOAP通过此连接发送数据是否正确?我正在观看WCF指南,它正在讨论如何将异常序列化到SOAP中并发送到客户端。我原以为并非所有绑定(bind)都会使用SOAP发送数据,所以我对它的工作原理有点困惑。虽然我了解WCF的基础知识,如何在客户端设置服务和使用代理,但它似乎并没有准确解释数据是如何打包发送的。也许答案很明显,它只使用XML/SOAP,但我很想确定! 最佳答案 不,不是全部。WebHttpBinding围绕REST协议(pro

c# - 将 DataContract 作为 XML 保存在数据库中

我正在为WCF服务开发一种“存储和转发”应用程序。我想将消息作为原始XMLblob保存在数据库中,作为XElement。我在将数据契约(Contract)转换为数据库调用所需的XElement类型时遇到了一些麻烦。有什么想法吗? 最佳答案 这会将其作为字符串返回,您可以将其放入数据库的xml列中。这是一个很好的通用方法,您可以使用它来序列化数据契约(Contract)。publicstaticstringSerialize(Tobj){StringBuildersb=newStringBuilder();DataContractSe

c# - 仅获取 WCf 消息的正文

我遇到了一些本应很简单的问题。我有一个接受c#消息类型的服务方法,我只想提取该soap消息的主体并使用它来构建一个全新的消息。我不能使用GetBody()Message类上的方法,因为我不知道将正文序列化为什么类型。有谁知道如何从消息中提取正文?或者构建一个具有相同正文的新消息,即没有原始消息头等? 最佳答案 您可以使用消息上的GetReaderAtBodyContents方法访问消息正文:using(XmlDictionaryReaderreader=message.GetReaderAtBodyContents()){strin