问题标签 [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.

0 投票
1 回答
561 浏览

wcf - WCF服务合同和数据合同

我有以下代码

在上述场景中,我需要包含命名空间“http://www.myweb.com/prod/child”的 GetName 方法 SOAP 标头

0 投票
3 回答
608 浏览

c# - 如何生成自定义 SOAP 消息

我有一个网站在我的 GET 请求中给我这个 xml 响应:

我想使用 WCF 客户端来处理这项服务。如何为 WCF 客户解除此响应的消息合同

0 投票
2 回答
6804 浏览

c# - 使用 MessageContract 在启动时使 WCF 服务崩溃

我正在尝试将 MessageContract 添加到我的 WCF 服务中,类似于这个问题中发生的事情:WCF: using streaming with Message Contracts

这是我得到的异常: 无法加载操作“UploadFile”,因为它具有 System.ServiceModel.Channels.Message 类型的参数或返回类型,或者具有 MessageContractAttribute 和其他不同类型参数的类型。当使用 System.ServiceModel.Channels.Message 或带有 MessageContractAttribute 的类型时,该方法不得使用任何其他类型的参数。

这是我的合同:

这是我在 app.config 中使用的绑定配置:

现在我在想这可能与我正在使用的绑定类型有关,但我并不完全确定。

0 投票
1 回答
830 浏览

.net - 使用XmlSerializer时如何忽略派生类中基类的属性?

我有这样的课:

像下面这样的另一个类继承了上面的一个:

我正在将 ASMX 服务迁移到 WCF,以使它们与现有的 ASMX 客户端兼容。所以我必须使用XmlSerializer而不是DataContractSerializer

OrgStructure声明为MessageBodyMember的响应类型 OperationContract

ASMX 客户端期望Description在 XML 消息中。所以我试图隐藏(使用new运算符)Description派生类中的属性并应用于XmlIgnoreAttribute它。但它仍然序列化了这个属性。

(请注意description变量的声明。我不知道为什么开发人员再次声明派生类而不是将其保留protected在基类本身中。)

使用 XmlSerializer 时如何忽略派生类中基类的属性?我不能在基类中忽略它,因为其他子类型Structure需要它。

0 投票
2 回答
1232 浏览

c# - WCF 何时使用 MessageHeader 而不是在函数参数中传递变量

我正在阅读有关 MessageContract 和 MessageHeader 的信息,并试图了解在 MessageHeader 中发送一些信息的用例,而不是将其仅用作函数参数?

0 投票
4 回答
4703 浏览

c# - 如何序列化 WCF 响应中的嵌套类型?

设想:

我正在创建一个公开用户数据的 WCF 服务。User 的一个实例有一个名为 Role 的属性。如果我省略此属性,则服务有效;如果不省略该属性,则服务失败。下面是代码的(非常)简化表示。

问题的根源是角色嵌套/嵌入(你怎么称呼它......)在用户类中。好像不能这样序列化。

如果搜索可能的解决方案,但似乎找不到正确的解决方案。我已经在合同以及 User 类上尝试了 KnownTypeAttribute 的一些东西,但这没有用。

问题:

  • 在 User 类中包含 Role 属性的正确方法是什么?
  • 应该在哪里添加哪些属性使其起作用?
  • 可能要实现的接口以使其可序列化?

提前感谢您的任何回复!

更新#1

在@CPX 的建议之后,我在服务器端创建了额外的测试代码:

这会导致 InvalidOperationException 出现消息“生成 XML 文档时出错”。此异常具有 InvalidOperationException(再次)作为 InnerException,消息为“类型 System.Data.Entity.DynamicProxies.User_FAC9CE2C5C9966932C0C37E6677D35437C14CDD08‌​884AD33C546805E62B7101E 不是预期的。使用 XmlInclude 或 SoapInclude 属性来指定静态未知的类型。

忘记在帖子中提到,User 和 Role 类在 Entity Framework 4.1 中使用。没有猜测应该是一个问题,但显然它确实如此。

0 投票
1 回答
752 浏览

wcf - WCF 消息合同版本控制

我想向我的MessageContract添加一个新的MessageBodyMember ,它指的是一个新的Datacontract

会不会有问题。。

处理消息合同更改的最佳方法是什么?

如何知道添加新的 MessageBodyMember 是破坏性更改还是非破坏性更改?

0 投票
2 回答
351 浏览

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 或任何其他语言中使用 *

0 投票
2 回答
1867 浏览

c# - 将 MessageContract 作为 MessageBodyMember 放入 WCF 的其他合同中

我可以在 WCF 中使用递归 MessageContract 吗?例如 :

我需要发布一些参数,其中一个参数是文件流数组。这是我的 OperationContract :

这是我的 MessageContract :

需要你的帮助..

0 投票
0 回答
235 浏览

wcf-binding - 是否可以在同一服务中混合流传输和非流传输 WCF OperationContracts?

我有一组在单个 ServiceContract 中定义的操作,现在其中两个已切换为直接获取和返回 MessageContracts,其中包含 MSDN 文档中概述的 Stream 主体。我已经对此进行了测试,它似乎工作正常,但是现在当我在同一个 ServiceContract 中调用我的其他操作时,它采用简单的 RPC 样式参数和返回类型,我得到以下异常。

如果我了解发生了什么,我认为问题在于我已将服务器和客户端的 TransferMode 在两个方向上都设置为 Streamed,以促进基于 MessageContract 的操作,但这一定会破坏我之前工作的非基于 MessageContract 的操作我介绍了流媒体。

那么也许我只有这两个选择:

  1. 在此服务中重新编写我的所有操作合同,以便它们基于 MessageContract,也许还可以为主体公开一个 Stream。在这一点上,我不确定是否需要 Stream,或者我是否可以将其设置为 null 或将其完全从消息中排除。
  2. 根据传输模式将我的运营合同分成单独的 ServiceContract。

这听起来准确吗?还有其他选择吗?我已经研究过是否有办法为每个 OperationContract 指定 TransferMode,但我找不到任何方法可以做到这一点,因为它是绑定的设置,我不知道有任何方法可以为每个 OperationContract 指定单独的绑定.

推进我需要公开的一组服务的最佳选择是什么?