Нужно ли иметь wsdl-файл для создания веб-службы в php?

Мой вопрос необходим для базового понимания веб-сервисов и более конкретно в сочетании с php

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

Какие у меня варианты?

То, что я делаю, это создать приложение jm2ee на моем мобильном устройстве, которое время от времени отправляет данные в веб-службу. Я где-то читал, что вам нужно предоставить аргументы, когда нет wsdl-файла. Что подразумевается под этим? и / или каковы последствия этого?

Спасибо, adv, Ричард

Solutions Collecting From Web of "Нужно ли иметь wsdl-файл для создания веб-службы в php?"

Я хотел бы знать, если нет необходимости иметь wsdl-файл для создания веб-службы

Нет, это не обязательно (по крайней мере, не в PHP) : это помогает другим узнать, как получить доступ к вашему webservice (какие методы, объекты, … следует использовать) , но WS можно вызвать, даже если он не экспортировать WSDL

Для PHP, да, немного сложно получить WSDL (многие классы не генерируют их :-() , но вы можете создать его другим инструментом (например, в Eclipse есть инструменты для записи файлов WSDL) ,

Был PEAR::Soap который смог генерировать WSDL из PHP-кода (но вам нужно было записать много строк кода, чтобы получить его правильно) – учитывая, что для работы с SOAP есть класс, включенный в PHP 5, В любом случае, рекомендуем использовать этот.

Для получения дополнительной информации вы можете посмотреть:

  • SoapServer ; особенно если вы посмотрите на документацию SoapServer::__construct , вы заметите, что она может работать как в режиме WSDL, так и в режиме, SoapServer::__construct от WSDL
  • Zend_Soap

Если вы создаете как клиент, так и веб-сервис, то нет необходимости в futz с SOAP, WSDL или любым из этих джазов.

Просто используйте основы Интернета: клиент может использовать GET для извлечения информации и POST для ее отправки. Вы можете форматировать данные по своему усмотрению, но JSON и XML являются общими, четко определенными подходами.

Если вы хотите вдохнуть свой дизайн API, ознакомьтесь с некоторыми популярными примерами:

  • API Twitter
  • API Flickr
  • все API Google
  • все API-интерфейсы Yahoo

Этого достаточно, чтобы вы начали, но если вам интересно о философии дизайна, вы можете прочитать презентацию State Transfer или REST.

Документы WSDL-файла в машиносчитываемом формате (XML) определяют методы (и аргументы для методов), предлагаемые веб-службой. Вам не нужен файл WSDL, если вы знаете, что такое методы и аргументы, хотя WSDL очень хорош для того, чтобы как можно больше использовать «публичный интерфейс» веб-сервиса.

Насколько мне известно, библиотека PHP не имеет функций для автоматического создания WSDL-файла для вас.

Поддержка веб-сервисов встроена в php5, наилучшим исходным местом является документация .

Некоторые источники будут использовать термин «вебсервис» как синоним SOAP. Это неправильно. SOAP – это конкретный протокол. Это один из способов создания веб-сервиса. Существуют и другие технологии. В общем, SOAP является предпочтительным стандартом с Java и .net, но он плохо подходит для этой сферы. Если у вас есть этот параметр, я бы настоятельно рекомендовал рассмотреть xml-rpc (что проще и имеет лучшую прямую поддержку php) или HTTP-службу (также называемую REST).