Служба WCF SOAP не может вернуть JSON как вывод?

История


Я в основном разработчик внешнего интерфейса (android) и мне никогда не приходилось создавать веб-сервис Скорее я был в конце потребления. Сейчас этот бизнес WCF огромен, и я считаю, что он очень сложный с крутой кривой обучения.

Задача


Мне нужно сделать простой SOAP-сервис, привет пока, что бы принимать входной XML, НО ВОЗВРАЩАТЬ JSON.

Я не уверен, почему у нас нет аналогичных запросов в Интернете, что заставляет меня задуматься, а не возможно ли это вообще?

Это то, что я имею до сих пор.

Текущий прогресс


Мой контракт

[ServiceContract]
    public interface IHelloWorldService
    {
        [OperationContract]
        String GetMessage(String name);
    }

Мой контракт Impl

public string GetMessage(string name)
        {
            return "Hello World from " + name + "!";
        }

My Service Config (в 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>

Вопросы


  1. Является ли SOAP тесно связанным с XML? Так, что вы не можете отправить JSON в качестве вывода?
  2. Правда ли, что для отправки JSON в качестве вывода вам необходимо перейти к парадигме REST?
  3. Я получаю XML каждый раз, потому что я использую скрипты WCFStorm с заголовками HTTP и отправляю тип mime XML по умолчанию?
  4. Как мне проверить службу WCF, которая возвращает JSON? У меня есть тестовый клиент для этого? Я скачал расширение Chrome под названием Wizdler, но по какой-то причине оно работает только с привязкой «basicHttpBinding». Мне сказали, что я не могу использовать эту привязку, если я хочу создать сервис SOAP.

Я был бы очень признателен, если бы вы, ребята, указали мне правильное направление. Кроме того, мне всего 2 дня в этом ковене веб-сервисов, поэтому я прошу прощения за свою наивность.

7 голосов | спросил Muhammad Ahmed AbuTalib 5 FebruaryEurope/MoscowbThu, 05 Feb 2015 23:47:50 +0300000000pmThu, 05 Feb 2015 23:47:50 +030015 2015, 23:47:50

1 ответ


0

SOAP опирается исключительно на XML для предоставления служб обмена сообщениями, поэтому, если вы действительно хотите /должны вернуть JSON, вам нужно будет обернуть его в CDATA в теле SOAP XML. Однако, в отличие от SOAP, REST не должен использовать XML для предоставления ответа, поэтому вы можете выводить данные в других форматах, таких как JSON.

http://blog.smartbear.com/apis/understanding-soap-and- основы отдыха /

Возможно, вы захотите использовать WCF для предоставления REST -сервисный сервис, а не сервис SOAP.

https://msdn.microsoft.com/en-us/magazine/dd315413.aspx

ответил Seymour 5 FebruaryEurope/MoscowbThu, 05 Feb 2015 23:57:27 +0300000000pmThu, 05 Feb 2015 23:57:27 +030015 2015, 23:57:27

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132