StoriaImpossibile che un servizio SOAP WCF restituisca JSON come output?
sto fondamentalmente un fine (Android) sviluppatore anteriore e mai dovuto creare un servizio web Piuttosto ero alla fine di consumare. Ora questo business della WCF è schiacciante e credo che sia terribilmente complicato con una curva di apprendimento ripida.
La Task
ho bisogno di fare un servizio SOAP semplice, ciao mondo per il momento che avrebbe preso un XML di input, MA RITORNO JSON.
Non so perché non abbiamo query simili su Internet, mi chiedo se non sia possibile per niente?
Questo è quello che ho finora.
progressi in corso
mio contratto
[ServiceContract]
public interface IHelloWorldService
{
[OperationContract]
String GetMessage(String name);
}
mio contratto Impl
public string GetMessage(string name)
{
return "Hello World from " + name + "!";
}
mio servizio di configurazione (in web.config. Ho ospitato questo servizio in un sito web 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>
Domande
- è il sapone strettamente delimitate ad XML? Tale che non è possibile inviare JSON come output?
- È vero che per inviare JSON come output è necessario passare al paradigma REST?
- Ricevo un XML ogni volta perché sto utilizzando i violini WCFStorm con le intestazioni HTTP e inviamo un tipo mime XML per impostazione predefinita?
- Come testare un servizio WCF che restituisce JSON? Ho qualche client di prova per questo? Ho scaricato un'estensione di Chrome chiamata Wizdler, ma per qualche motivo funziona solo con l'associazione "basicHttpBinding". Mi è stato detto che non posso usare questa associazione se voglio fare un servizio SOAP.
Sarei davvero indebitato se voi ragazzi poteste indicarmi la direzione corretta. Inoltre, ho appena 2 giorni in questo gruppo di webservice, quindi mi scuso per la mia ingenuità.
Non è necessario scegliere uno. Un servizio WCF può essere configurato per restituire * SOAP, XML o JSON * in base alle richieste del client. – EZI
@EZI il requisito dell'OP è quello di restituire json su SOAP. –
@TomRedfern Io non la penso così. Ciò richiederebbe due deserializzazioni, una per il sapone e una per json (come restituire un xml all'interno di un altro xml). Perché qualcuno dovrebbe volerlo fare? Un servizio che può restituire il sapone puro o xml o json (che può essere determinato dall'intestazione * Accept * del protocollo http)? – EZI