Как осуществлять SOAP технологии
Как ОТДЫХА, реализации SOAP включает как генерации запросов и обработки ответа. Если обработки SOAP ответ похож на ОТДЫХА результате генерации SOAP запрос совершенно иная. Генерация проситВ отличие ОТДЫХА, это довольно редко видеть запросы в вручную, хотя это еще можно сделать. В целом, SOAP запросы как в в общий инструмент (например NuSOAP или груш: SOAP), или с применением конкретных класс или модуль. Руководство поколение описывается (хорошее понимание, как это работает, будет полезным), а также NuSOAP. Применение конкретных инструментов будут игнорироваться, за несколько причин. По определению они являются конкретные применения, и поэтому не очень полезно в этой общей статье. Во-вторых, инструменты, различные интерфейсы и функциональность уровнях, и для того, чтобы сделать тему справедливости потребуется углубленный взгляд. Наконец, я твердо придерживается мнения, что если вы можете понять, как заставить ее работать с NuSOAP (или сырье, для этого вопроса), вы можете получить применение конкретных инструментов для работы тоже. Руководство поколенияГенерация запросов SOAP вручную, не слишком отличается от генерации ОТДЫХА просьбы. Процесс получения запроса и передаче фактически разделено на две отдельные функции, для демонстрации целей. Для получения просьбе самой, я решил использовать pregenerated строки, и просто заполнить необходимые значения во время выполнения. Есть более сложные варианты (такие, как создание документа в SimpleXML или создать его с нуля каждого запуска), но они не являются действительно необходимо: functioncreateRequest ($ devkey, $ действий, типа $, $ ключевое слово) Как вы можете говорить, то функция просто так прост, как он может получить. Заметим, что переменные не были кодирование; Потому, что они не направили в адрес (звуки очевидна, но она также легко пропустить). Вообще-то, называть API передать просьбу предполагает заимствование некоторых код из первого ОТДЫХА Например, так как запрос будет отправлен сырья на этот раз. functioncallSOAPAPI ($ данные) Я мог только населенные долл. пребывания и $ путь переменных в начале, но это должно быть четким. В производственной системы, можно сэкономить несколько циклов процессора на hardcoding этих элементов. $ fp = fsockopen ($ пребывания, 80); Этот блок практически идентичен и в предыдущем примере. В предыдущем примере был POST запрос, то это Получите просьбе, изменения, что будет диктоваться любыми API вы работаете с. Содержание - тип заголовка отличается точно отражает то, что Вы отправляете, и на этот раз, конечно, надо $ данные отправлять, так Содержание - длина не будет 0. $ ответ = ""; Этот раздел также совпадает со ОТДЫХА пример. Сплошной обеих этих функций получить ответ только едва стоит упомянуть: $ просьбе = createRequest ('123 ',' поиск ',' книга ',' стиль); Не слишком сложно! В отличие ОТДЫХА, вы не можете просто использовать file_get_contents () для достижения API, так нужно направить XML орган с просьбой. file_put_contents () обыкновение работать либо из-за Вам нужен ответ (file_put_contents () возвращает int), но есть и другие варианты. Груша (http://pear.php.net), например, кучу HTTP конкретных функций, которые могут принять некоторые из головной вручную создать просьбой покинуть свои руки, но все же позволяют все гибкость вы получите при руководство создания. Поколения с NuSOAPДля чего-то иного, чем на один выстрел программа, я бы определенно рекомендовать происходит с определенной в SOAP модуль сделать Вашу жизнь проще кодирования. Хотя, если вы столкнетесь с проблемами, отслеживание их может быть немного боли. Я хотел с помощью местного развития урну развития, поэтому следует начать вещей происходит наперекосяк я могу использовать пакет sniffer взглянуть на запрос / ответ в сыром виде. Теоретически, с помощью NuSOAP не слишком отличается от завершения этой задачи вручную. Объект создается, полезной нагрузки был создан, и запрос отправлен. Основное различие заключается в том, что NuSOAP делает все грязные работы. требуют ('../ lib / nusoap.php '); Здесь $ клиентский объект создан. Два варианта при создании новых soapclient: Вы можете указать wsdl файл за услугу (и установить второй параметр верно), или указать пункт назначения на слово (и установить второй параметр ложной). Когда это возможно, я хотел использовать wsdl файл; В NuSOAP модуль может улова некоторые ваши ошибки, что путь, и она гарантирует, что различные виды просьбы всех перейти на правильный пункт назначения. $ = массив параметров ( Подготовка параметров для передачи немного легче, чем прежние методы. $ имен = 'http://library.example.com'; Наконец, в последние несколько параметры установлены, и называть себя делается. Обработка ОтзывОбработка ответа от SOAP запрос опять не слишком отличается от ОТДЫХА ответ - оба представлены в аналогичных форматов XML. В ответ SOAP несет дополнительные конверт и элементы органа, но зачастую представления данных таким же образом, в этих элементов. Существует, конечно некоторые различия между обработки ответа от руководства просьбе и с NuSOAP просьбу. Оба метода представлены здесь. Ручная Разбор ответMimicking выводе, создаваемом с просьбой ОТДЫХА использует аналогичный код, с некоторыми изменениями для инкапсуляции используются схемы с SOAP. повторить "Вы искали: ($ xml -> орган -> LibrarySearchResponse -> RequestInfo -> повторить "Вот ваши ($ xml -> орган -> LibrarySearchResponse -> ResponseInfo -> ResultCount) Это будет генерировать идентичные результаты, как ОТДЫХА просьбе показали ранее. Примечание различных синтаксиса используются для приобретения поиска ключевое слово. Это не атрибут этого времени, поэтому доступ отличается. Разбор Ответ с NuSOAPДоступ к объекту, представленной NuSOAP это мало отличается от методов, используемых с SimpleXML, но внутренние структуры данных очень похожа. Изменение кода для работы с NuSOAP объекта занимает всего несколько минут. повторить "Вы искали:". В NuSOAP, внутренние данные обращались так же, как ассоциативный массив, так, а не OO метод использования -> для доступа к детской элементов, далее массив включена информация. Этот элемент выведет идентично с предыдущим примером. SOAP является эффективным методом опроса API, когда дополнительные накладные допускается. В инкапсуляции всех элементов позволяет легко читать, и переменной сферы в рамках запроса. Создание SOAP запросов можно также легко, как и написания им раз, то только замены ключевых переменных. Кроме того, она также может быть выполнена с помощью инструментов, таких, как NuSOAP. Доступ к SOAP ответ может быть достигнуто во многом таким же образом как ОТДЫХА ответ, когда запрос был завершен вручную. В случае запросов завершена NuSOAP, доступ метод структурно идентичны, и лишь незначительные изменения в синтаксисе используются. это статья добавлена Emanuela Хедрик
|
|||||
|