.Net WCF - 接收&发送XML

时间:2009-12-10 17:51:25

标签: .net xml wcf

我是WCF的新手

我必须创建一个接收纯XML(而不是SOAP)的WCF服务,然后进行一些处理然后以纯XML格式发送回复消息。我在发送XML时没有问题,我只需要一些关于从哪里开始的提示。我熟悉使用SOAP在.Net中创建Web服务...使用Web服务我将根据SOAP请求定义要调用的函数。

如果我将纯XML发送到WCF服务(没有像我使用SOAP那样定义特定的函数)......它会触及什么功能?我需要设置它,以便发送到我的WCF的所有XML请求都能触及特定功能......但是如何?它们是不是很好的例子吗? (我用Google搜索链接以在WCF中接收纯XML,但没有为初学者找到任何东西到WCF)

3 个答案:

答案 0 :(得分:4)

这个问题确实有两个独立的部分。

  1. 您希望在哪些协议上公开您的服务? HTTP?如果是这样,您应该看看WebHttpBinding,它是为REST(或至少是POX)服务构建的。对于更复杂的场景,您可能需要使用不会在消息上强制使用SOAP的自定义绑定。

  2. 您希望如何在服务端表示该XML。例如,使用WebHttpBinding,最简单的方案是仍然使用DataContracts并让WCF负责与XML文本表示的序列化。但是,您可能希望以某种方式提供原始XML,在这种情况下,您当然可以使用System.ServiceModel.Channels.Message对象来处理更原始的合同,并自己处理序列化过程。

答案 1 :(得分:1)

您可能想要查看使用WebHttpBinding(或其他与非SOAP / WS-Messaging消息类型的绑定)的示例,例如: WebGet属性,WebMessageFormal.Xml作为请求/响应类型。

答案 2 :(得分:0)

您可以创建一个接收并返回字符串的操作合约。 一旦你得到了字符串 - 使用常规的dot net xml函数来解析它并做任何需要的事情。

良好的起点是阅读Juval Lowey关于WCF的书。

要回答下半场 - 你没有“发送”XML到服务 - 你需要创建一个合同(功能) 是一般的(单一“功能” - 方法)还是许多“功能”(方法)。