Интеграция веб-служб FedEx в .Net, застрявшая на шаге 1 - PullRequest
9 голосов
/ 05 апреля 2010

Я подписан, я скачал пример кода, у меня есть WSDL ... и все же я не знаю, как вставить этот материал в мое существующее приложение .Net. WSDL был в zip-файле, а не в URL-адресе, поэтому я не могу просто «Добавить веб-ссылку». Я запустил инструмент wsdl из командной строки .Net, и он стал хорошим классом для меня ... но добавление его в папку web_reference не дает мне какого-либо экземпляра класса.

Я знаю, что упускаю что-то глупое. Может кто-нибудь указать мне правильное направление, пожалуйста?

Ответы [ 4 ]

10 голосов
/ 19 марта 2013

Правильный способ загрузки файла WSDL API FedEx в Visual Studio 2010:

  1. Откройте обозреватель решений
  2. Щелкните правой кнопкой мыши свой проект
  3. Нажмите «Добавить справочник услуг»
  4. Нажмите кнопку «Дополнительно ...»
  5. Нажмите кнопку «Добавить веб-ссылку ...»
  6. Введите точный путь к файлу WSDL для конкретной веб-ссылки FedEx, которую вы используете. Например, я извлек мой в корень моего диска C: \, поэтому все, что я ввел в поле URL, было «C: \ ShipService.wsdl» без кавычек. Если вы оставите кавычки, это не сработает.
  7. Когда вы нажимаете go, Visual Studio должна использовать wsdl в работающие классы для вас. Нажмите Добавить ссылку и наслаждайтесь!

Примечание. Убедитесь, что вы хорошо прочитали документацию FedEx - у многих их сервисов есть проблемы, и реализация может быть кошмаром. Например, их служба проверки адресов используется неправильно и создает двумерные массивы в Reference.cs, где они не должны существовать - это подробно описано в документации. Хуже того, тот факт, что они не разрешают проверку адресов в своей среде разработки, нигде не задокументирован! Удачи!

2 голосов
/ 05 апреля 2010

На самом деле, вы можете просто «Добавить веб-ссылку». Укажите путь к URL.

OTOH, вы должны делать все новые разработки веб-сервисов (даже разработку клиентов) с использованием WCF. Microsoft теперь считает веб-сервисы ASMX «устаревшей технологией».

Кстати, я только что попытался использовать их службу проверки адресов, и она не будет работать с .NET. Клиенты ASMX и WCF будут пытаться использовать сериализатор XML для использования этой службы, и существует ошибка, препятствующая использованию этой службы.

0 голосов
/ 01 февраля 2011

Попробуйте изменить пространство имен прокси-класса на ваше приложение. В настоящее время я использую прокси-класс с C #, и он работает, несмотря на ограниченную документацию и примеры FedEx.

0 голосов
/ 05 апреля 2010

Мэтт, в zip-файле WSDL есть WSDL и связанные с ним транзакции для этой службы.Разархивируйте файл и затем "Добавьте ссылку" в WSDL в вашем коде.

...