2012-03-15 1 views
0

Пожалуйста, простите меня за этот базовый и немного теоретический вопрос, так как я мало знаю о веб-сервисах.Как сделать услугу, веб-сервис SOAP в .net?

Я не ссылаюсь на службу WCF, я прошу простую услугу в .net/C#. Я хочу знать, как узнать, что это мыло или услуга отдыха?

Как мы можем изменить этот тип с мыла на отдых и наоборот?

Благодаря

+1

WCF замены для ASMX услуг. Вы не должны использовать ASMX для новой разработки, поскольку это устаревшая технология. BTW, WCF производит SOAP-услуги, в том числе простые. –

+0

Терминология с вашего вопроса сбивает с толку. Говоря, что не WCF предполагает, что это ASMX (классические веб-службы XML). Если это действительно RESTful, то он, вероятно, все еще основан на WCF. Необходимо уточнить, чтобы узнать, подходит ли мой ответ. –

+1

http://servicestack.net/ –

ответ

3

XML Web Services (так называемый классический/наследие ASMX веб-службы) должны не использоваться для активного развития. Если вам нужно, есть a nice walkthrough on MSDN для добавления веб-ссылок в более поздних версиях Visual Studio (> 2005).

С другой стороны, если ваш веб-сервис действительно является Restful, то вы не сможете создать эквивалент ссылки на службу. Вам необходимо либо использовать HttpWebRequest, WebClient, либо новый HttpClient из .NET 4.5 (также доступный из комплекта стартового стартера, который также амортизируется).


В качестве альтернативы, если вы ищете для реализации клиента, который способен обрабатывать обе эти ситуации, я бы рекомендовал HttpWebRequest к POST к SOAP службы (не WCF). Проблема с этим методом заключается в том, что вам, вероятно, придется обернуть запрос в оболочку SOAP самостоятельно. К счастью, в сети есть examples, которые можно использовать как отправную точку.

1

Услуги ASMX основаны на SOAP. REST - это просто HTTP-протокол, вы можете получить доступ (или вызвать) свои бизнес-ресурсы к способу доступа к обычным URL-адресам.

Для ex в системе каталогов продуктов, используя asmx, вы создаете набор функций для добавления, обновления, удаления продуктов. например, addProduct(), updateProduct и т. д.

Но в REST у вас будет одна точка доступа, такая как http: \ mysystem \ prodcuts. Чтобы извлекать, добавлять, обновлять и удалять продукты, вы будете использовать соответствующие HTTP-глаголы (GET, POST, PUT, DELETE) по одному и тому же URL-адресу.

так, технически это невозможно преобразовать ASMX (SOAP) услуги для отдыха ...

Смежные вопросы