问题标签 [messagecontract]
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.
wcf - WCF服务合同和数据合同
我有以下代码
在上述场景中,我需要包含命名空间“http://www.myweb.com/prod/child”的 GetName 方法 SOAP 标头
c# - 如何生成自定义 SOAP 消息
我有一个网站在我的 GET 请求中给我这个 xml 响应:
我想使用 WCF 客户端来处理这项服务。如何为 WCF 客户解除此响应的消息合同
c# - 使用 MessageContract 在启动时使 WCF 服务崩溃
我正在尝试将 MessageContract 添加到我的 WCF 服务中,类似于这个问题中发生的事情:WCF: using streaming with Message Contracts
这是我得到的异常: 无法加载操作“UploadFile”,因为它具有 System.ServiceModel.Channels.Message 类型的参数或返回类型,或者具有 MessageContractAttribute 和其他不同类型参数的类型。当使用 System.ServiceModel.Channels.Message 或带有 MessageContractAttribute 的类型时,该方法不得使用任何其他类型的参数。
这是我的合同:
这是我在 app.config 中使用的绑定配置:
现在我在想这可能与我正在使用的绑定类型有关,但我并不完全确定。
.net - 使用XmlSerializer时如何忽略派生类中基类的属性?
我有这样的课:
像下面这样的另一个类继承了上面的一个:
我正在将 ASMX 服务迁移到 WCF,以使它们与现有的 ASMX 客户端兼容。所以我必须使用XmlSerializer
而不是DataContractSerializer
。
被OrgStructure
声明为MessageBodyMember
的响应类型 OperationContract
。
ASMX 客户端不期望Description
在 XML 消息中。所以我试图隐藏(使用new
运算符)Description
派生类中的属性并应用于XmlIgnoreAttribute
它。但它仍然序列化了这个属性。
(请注意description
变量的声明。我不知道为什么开发人员再次声明派生类而不是将其保留protected
在基类本身中。)
使用 XmlSerializer 时如何忽略派生类中基类的属性?我不能在基类中忽略它,因为其他子类型Structure
需要它。
c# - WCF 何时使用 MessageHeader 而不是在函数参数中传递变量
我正在阅读有关 MessageContract 和 MessageHeader 的信息,并试图了解在 MessageHeader 中发送一些信息的用例,而不是将其仅用作函数参数?
c# - 如何序列化 WCF 响应中的嵌套类型?
设想:
我正在创建一个公开用户数据的 WCF 服务。User 的一个实例有一个名为 Role 的属性。如果我省略此属性,则服务有效;如果不省略该属性,则服务失败。下面是代码的(非常)简化表示。
问题的根源是角色嵌套/嵌入(你怎么称呼它......)在用户类中。好像不能这样序列化。
如果搜索可能的解决方案,但似乎找不到正确的解决方案。我已经在合同以及 User 类上尝试了 KnownTypeAttribute 的一些东西,但这没有用。
问题:
- 在 User 类中包含 Role 属性的正确方法是什么?
- 应该在哪里添加哪些属性使其起作用?
- 可能要实现的接口以使其可序列化?
提前感谢您的任何回复!
更新#1
在@CPX 的建议之后,我在服务器端创建了额外的测试代码:
这会导致 InvalidOperationException 出现消息“生成 XML 文档时出错”。此异常具有 InvalidOperationException(再次)作为 InnerException,消息为“类型 System.Data.Entity.DynamicProxies.User_FAC9CE2C5C9966932C0C37E6677D35437C14CDD08884AD33C546805E62B7101E 不是预期的。使用 XmlInclude 或 SoapInclude 属性来指定静态未知的类型。
忘记在帖子中提到,User 和 Role 类在 Entity Framework 4.1 中使用。没有猜测应该是一个问题,但显然它确实如此。
wcf - WCF 消息合同版本控制
我想向我的MessageContract添加一个新的MessageBodyMember ,它指的是一个新的Datacontract。
会不会有问题。。
处理消息合同更改的最佳方法是什么?
如何知道添加新的 MessageBodyMember 是破坏性更改还是非破坏性更改?
php - 消息合约是否提供跨不同语言的互操作性?
我正在阅读有关 WCF 服务的信息。我是 WCF 服务的新手。我读到 WCF 提供了互操作性。我想知道它在哪种情况下提供互操作性。它是否在从任何其他语言(例如 php)或任何不同目的使用 .net wcf Web 服务的上下文中提供互操作性。我已阅读以下文章。
http://blogs.msdn.com/b/drnick/archive/2006/11/27/mixing-message-contract-attributes.aspx
这样,如果我们通过传递或返回某些方法的 MessageContract 和某些方法的 DataContract 来为 wcf Web 服务中的所有方法提供 OperationContract,那么在 php 或任何其他语言中会发生什么?*以 DataContract 作为参数或返回类型的方法是否在 php 或任何其他语言中可用?或者以 MessageContract 作为参数或返回类型的方法是否在 php 或任何其他语言中可用?或者两者都可以在 php 或任何其他语言中使用 *
c# - 将 MessageContract 作为 MessageBodyMember 放入 WCF 的其他合同中
我可以在 WCF 中使用递归 MessageContract 吗?例如 :
我需要发布一些参数,其中一个参数是文件流数组。这是我的 OperationContract :
这是我的 MessageContract :
需要你的帮助..
wcf-binding - 是否可以在同一服务中混合流传输和非流传输 WCF OperationContracts?
我有一组在单个 ServiceContract 中定义的操作,现在其中两个已切换为直接获取和返回 MessageContracts,其中包含 MSDN 文档中概述的 Stream 主体。我已经对此进行了测试,它似乎工作正常,但是现在当我在同一个 ServiceContract 中调用我的其他操作时,它采用简单的 RPC 样式参数和返回类型,我得到以下异常。
如果我了解发生了什么,我认为问题在于我已将服务器和客户端的 TransferMode 在两个方向上都设置为 Streamed,以促进基于 MessageContract 的操作,但这一定会破坏我之前工作的非基于 MessageContract 的操作我介绍了流媒体。
那么也许我只有这两个选择:
- 在此服务中重新编写我的所有操作合同,以便它们基于 MessageContract,也许还可以为主体公开一个 Stream。在这一点上,我不确定是否需要 Stream,或者我是否可以将其设置为 null 或将其完全从消息中排除。
- 根据传输模式将我的运营合同分成单独的 ServiceContract。
这听起来准确吗?还有其他选择吗?我已经研究过是否有办法为每个 OperationContract 指定 TransferMode,但我找不到任何方法可以做到这一点,因为它是绑定的设置,我不知道有任何方法可以为每个 OperationContract 指定单独的绑定.
推进我需要公开的一组服务的最佳选择是什么?