Mohammad Azeem Ответов: 2

Уточнение разницы между WCF, REST и SOAP, web API


Dear All, 

I did a lot of research before posting this question, so just as a clarification point of view can you please review the following and let me know if i am heading correct. 

I actually created a WCF project and define few methods inside which are doing something and then made a client then add service reference to that client project and happily consuming the data by calling the methods i defined in the WCF project above, all good till here can you please let me know what shall i call this whether WCF or SOAP API. 

 The reason is someone asked me to create SOAP API for my application so can i say that the one i made above which is working perfectly fine is actually SOAP API as they told me that SOAP API is something which communicates in XML with secured envelope and other fixed format stuff so how i can make this kind of API do i need to completely change my logic if so then what is the above explained API is ? and what is the WebAPI terminology means?

Lastly again another application vendors asked to have the REST API for my application as well, i think i can define some REST functionality in my WCF project and ask to consume by not adding service reference and method calling but through REST API functions of PUT, GET in URL is that correct or do i need to create a separate ASP project for REST.

Thanks a lot for your time. 


Что я уже пробовал:

Искал огромное количество времени в интернете

2 Ответов

Рейтинг:
2

F-ES Sitecore

Google "WCF soap" и "WCF rest", чтобы увидеть, как реализовать эти типы услуг. Вы сможете использовать их все в одном проекте. Вместо "работы", выполняемой в ваших методах интерфейса WCF, вы должны поместить фактический код в классы, чтобы ваши интерфейсы REST и SOAP вызывали один и тот же код.


Mohammad Azeem

Спасибо за быстрый ответ, я приложил два скриншота в последовательной ссылке для веб-сервиса, который я создал, пожалуйста, скажите мне, является ли это WCF или SOAP или простой веб-сервис, пожалуйста..

https://www.dropbox.com/s/36du8st26047flg/1.png?dl=0

https://www.dropbox.com/s/7ruf151lp8vvx23/2.png?dl=0

F-ES Sitecore

Да, я думаю, что это будет работать как мыльная служба. Вы должны иметь возможность использовать тестовый клиент для проверки

https://www.codeproject.com/Articles/832948/SOAP-message-in-WCF-services-2

Mohammad Azeem

Еще раз спасибо за быстрый ответ, я также заставил клиента увидеть скриншот в следующей ссылке, где я добавил ссылку на сервис и использовал метод, выделенный красным цветом на скриншоте..

https://www.dropbox.com/s/z053hgsb5rhs72d/3.png?dl=0

Но опять же вопрос заключается в том, является ли это чистым SOAP или WCF API.

Как я полагаю SOAP требует интерфейса для обмена данными только в формате XML который находится в фиксированном формате как показано ниже:
&ЛТ;soapenv:конверт префиксом xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" атрибутов xmlns:ПАГ="http://pagorecibos.pagosrecibos.com/"&ГТ;
<soapenv:заголовок>
<soapenv:body>
<pag:obtenerimporte>
<referencia>040





Кроме того, они упоминают [WebMethod] вместо [OperationContract], как я сделал на скриншоте № 1 в своем предыдущем ответе, так что я что-то сделал, но не знаю, как это назвать?

Рейтинг:
1

RickZeeland

Смотрите ответ здесь: Могу ли я запросить SOAP пользователя в REST WEB API[^]