我基本上是一個前端(機器人)的開發商和從來沒有創建一個Web服務 而我是在消費端。 現在這個WCF業務是壓倒性的,我相信非常複雜的陡峭的學習曲線。
任務
我需要做一個簡單的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作爲輸出?
- 是不是真的發送JSON作爲輸出你需要去REST範例?
- 我是否每次都得到一個XML,因爲我正在使用帶有HTTP頭的WCFStorm小提琴並默認發送XML MIME類型?
- 我將如何測試返回JSON的WCF服務?我有任何測試客戶端嗎?我下載了名爲Wizdler的Chrome擴展程序,但由於某種原因,它只能與綁定「basicHttpBinding」一起使用。我被告知,如果我想創建一個SOAP服務,我不能使用這個綁定。
如果你們能指出我正確的方向,我會感激不盡。此外,我在這個web服務coven僅2天,所以我爲我的天真道歉。
您不必選擇一個。根據客戶端的請求,可以將WCF服務配置爲返回* SOAP,XML或JSON *。 – EZI 2015-02-05 21:39:01
@EZI OP的要求是通過SOAP返回json。 – 2015-02-06 09:47:08
@TomRedfern我不這麼認爲。這需要兩個反序列化,一個用於soap,一個用於json(就像在另一個xml中返回一個xml)。爲什麼有人想要這樣做?服務是否可以更好地返回純SOAP或XML或JSON(可以通過http協議的* Accept *標頭確定)? – EZI 2015-02-06 20:21:15