如何将纯文本发布到 WCF 服务,即不包含在 XML 标记中?
Posted
技术标签:
【中文标题】如何将纯文本发布到 WCF 服务,即不包含在 XML 标记中?【英文标题】:How can I post plain text to a WCF service i.e. not wrapped in an XML tag? 【发布时间】:2011-06-04 15:39:34 【问题描述】:这是我的问题: 我必须构建一个接受 httppost 正文中纯文本的网络服务。 我想使用 wcf,但看起来 wcf 仅适用于 xml/json。
有没有人可以通过http post发布纯文本的方法? 请注意,我不能使用 soap 或将文本包装在 xml 标签内,我必须遵循某些准则才能与现有的服务消费者兼容。
提前致谢。
【问题讨论】:
现有服务是如何实现的? 【参考方案1】:诀窍是你用参数 Stream xxx 调用你的方法
在 iContract 中
[WebInvoke(Method = "POST",
UriTemplate = "InterpSvcTest",
BodyStyle = WebMessageBodyStyle.Bare)] // this is key for combining params with Stream
Stream InterpretORUTest(Stream ORU);
在您的 WebService 类中
public Stream InterpretORUTest(Stream ORUMessageStream)
string hl7 = StreamToString(ORUMessageStream);
return StringToStream(hl7);
public Stream StringToStream(string s)
return new MemoryStream(Encoding.UTF8.GetBytes(s));
public string StreamToString(Stream ms)
try
using (ms)
var sr = new StreamReader(ms);
var myStr = sr.ReadToEnd();
sr.Dispose();
return myStr;
;
catch (Exception e)
c.WriteToLog("StreamToString error - " + e.Message);
return "";
【讨论】:
以上是关于如何将纯文本发布到 WCF 服务,即不包含在 XML 标记中?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 android 应用程序将纯文本共享到 facebook messenger
Spring Cloud Config Server 如何将纯文本文件推送到 Config Client Application?