c# – WCF SOAP服务不能将JSON作为输出返回吗?
历史
我基本上是一个前端(android)开发人员,从来没有必要创建一个Web服务 任务 我需要创建一个简单的SOAP服务,hello world暂时需要输入XML,但是返回JSON. 我不确定为什么我们在互联网上没有类似的问题,有点让我想知道它是否根本不可能? 这就是我到目前为止所拥有的. 目前的进展 我的合同 [ServiceContract] public interface IHelloWorldService { [OperationContract] String GetMessage(String name); } 我的合同Impl public string GetMessage(string name) { return "Hello World from " + name + "!"; } 我的服务配置(在Web.Config.我已经在asp.net网站上托管了这项服务) <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="MyServiceTypeBehaviors"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> <endpointBehaviors> <behavior name="WebBehavior"> <webHttp defaultOutgoingResponseFormat="Json" /> </behavior> </endpointBehaviors> </behaviors> <services> <service name="MyWcfServices.HelloWorldService" behaviorConfiguration="MyServiceTypeBehaviors"> <endpoint address="" binding="wsHttpBinding" behaviorConfiguration="WebBehavior" contract="MyWcfServices.IHelloWorldService"/> <endpoint contract="IMetadataExchange" binding="mexHttpBinding" address="mex"/> </service> </services> </system.serviceModel> 问题 > SOAP是否与XML密切相关?这样你就不能发送JSON作为输出? 如果你们能指出我正确的方向,我真的感激不尽.我在这个网络服务中只有2天的时间,所以我为我的天真而道歉. 解决方法
SOAP完全依赖于XML来提供消息传递服务,因此如果您确实需要/需要返回JSON,那么您需要将它包装在SOAP XML主体中的CDATA中.但是,与SOAP不同,REST不必使用XML来提供响应,因此您可以输出其他格式的数据,例如JSON.
http://blog.smartbear.com/apis/understanding-soap-and-rest-basics/ 您可能需要考虑使用WCF来提供REST-ful服务而不是基于SOAP的服务. https://msdn.microsoft.com/en-us/magazine/dd315413.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |