Я просто ударил огромную кирпичную стену с помощью Paypal. Я создал обычный проект C # для создания классов-оболочек с использованием их WSDL.
Если вы создаете не веб-проект, единственный способ добавить wsdl - это ссылка на веб-службу. И это создает примерно тот же набор прокси-классов, что и веб-ссылка, но не совсем… он добавляет больше, о чем даже ребята из PayPal не знают.
Итак, я все это время искал правильный интерфейс в этом списке прокси-классов для использования в качестве службы (SoapBinding), и PayPalAPIAASoapBinding
я все время говорил нашему контактному лицу PayPal.
Я мог видеть только следующие 2 интерфейса, которые мне показались необходимыми, так как я не видел, PayPalAPIAASoapBinding
который вы МОЖЕТЕ увидеть в справочнике службы на основе веб-ссылки:
PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient
Итак, я понял, о, я, вероятно, создал ссылку на службу вместо веб-ссылки, которая является опцией в веб-проекте. Но я не хочу, чтобы моя ссылка на службу была тесно связана с моим веб-проектом. Вот почему я создал проект C #.
Так что, черт возьми, справочник по сервису или веб-ссылка? И как я должен выделить это в другой проект, если Service Reference вызовет у меня цикл и даст мне набор интерфейсов, отличных от веб-ссылки?
Кроме того, чтобы еще больше запутать, VS 2008 имеет проект приложения веб-службы.
Так что я использую? Мы используем платформу .NET 3.5 и не готовы переходить на WCF . Могу ли я использовать новую ссылку на службу, даже если не использую WCF или что? ЕСЛИ вы используете .NET 3.5, а не WCF, и по-прежнему хотите использовать базовые веб-службы, вы по-прежнему используете маршрут Service Reference и просто не используете платформу WCF? Значит, можно ли его использовать как веб-справочник .NET 2.0, просто вы получите WSDL совершенно другого поколения?
Ответы:
Добавить веб-ссылку - это устаревшая, устаревшая технология веб-служб ASP.NET (ASMX) (с использованием только XmlSerializer для ваших материалов) - если вы сделаете это, вы получите клиент ASMX для веб-службы ASMX. Вы можете сделать это практически в любом проекте (веб-приложение, веб-сайт, консольное приложение, Winforms - вы называете это).
Добавить ссылку на службу - это новый способ сделать это, добавив ссылку на службу WCF, которая дает вам гораздо более продвинутую и гораздо более гибкую модель службы, чем просто старые вещи ASMX.
Поскольку вы не готовы к переходу на WCF, вы также можете добавить веб-ссылку в старом стиле, если вам действительно необходимо: когда вы выполняете «Добавить ссылку на службу», в появившемся диалоговом окне нажмите [Дополнительно ] в левом углу кнопки:
и в следующем появившемся диалоговом окне нажмите кнопку [Добавить веб-ссылку] внизу.
источник
Если я правильно понимаю ваш вопрос:
Чтобы добавить ссылку на веб-службу .net 2.0 вместо ссылки на службу WCF, щелкните свой проект правой кнопкой мыши и выберите «Добавить ссылку на службу».
Затем нажмите «Дополнительно ..» в нижнем левом углу диалогового окна.
Затем нажмите «Добавить веб-ссылку ..» в нижнем левом углу следующего диалогового окна.
Теперь вы можете добавить обычную веб-ссылку на SOAP, как вы ищете.
источник
Добавление ссылки на службу позволяет создать клиент WCF, который можно использовать для связи с обычной веб-службой при условии использования соответствующей привязки. Добавление веб-ссылки позволит вам создать только ссылку на веб-службу (например, SOAP).
Если вы абсолютно уверены, что не готовы к WCF (действительно не знаете почему), вам следует создать обычную ссылку на веб-службу.
источник
В конце концов, оба делают одно и то же. В коде есть некоторые различия: веб-службы не добавляют корневое пространство имен проекта, но справочник служб добавляет классы служб в пространство имен проекта.
ServiceSoapClient
Класс получает другое именование, которое не важно. При работе с TFS я бы предпочел использовать Service Reference, потому что он лучше работает с системой управления версиями. Оба работают с протоколами SOAP.Я считаю, что лучше использовать Справочник по сервису, потому что он новый и поэтому будет лучше обслуживаться.
источник