Модная штучка

Zend_Soap_Server & Client и его особенности

Апрель 27, 2011 | ITшное, код | Модные словечки , | Оставить свое мнение

По долгу службу начал сегодня писать API к серверу на SOAP, используя для этого ZF.

В целом никаких вопросов не возникало, простенький сервер для проверки набросал минут за 5, еще столько же тестовый скрипт что бы проверить Soap_Client.

Но тут то начались проблемы: делаю вызовы функций с сервера, а соап клиенту возвращается всегда NULL.

Пробовал создавать другие функции, как с параметрами так и без, ничего не давало другого результата. При этом даже getLastResponse() возвращала null. Следует так же заметить, что все запросы делаются через httpS, из-за чего я было еще подумал что грешит обработка сертификата SSL, но не мог получить никакой ошибки которая бы хоть намекала на то, что проблема связана с этим.

Гугление давало слабые результаты. У некоторых была проблема, связанная с тем, что soap.wsdl_cache_enabled была установлена в 1, а когда изменили на 0 то все заработало. Мне же это не помогло, ровно так же как и установка soap.wsdl_cache тоже в ноль. Не помогло так же и $soapServer->setWsdlCache(0);

На этом идеи найденные через великий гугл закончились. Пробовал я так же делать $client->getFunctions() — список существующих функций он выводил правильно. Сразу же меня смутило немного  слово void перед названием функции, то есть судя по ответу getFunctions() эти функции ничего не возвращают.

Но тогда я не придумал как можно было бы ему указать что ответ все таки есть. Return то в функции прописан, почему же  соап сервер не видит его?

И в итоге, перепробывав все варианты решение проблемы было в том, что нужно функциям которые будут достыпны через SOAP комментарии-документацию в стиле

/**
* @param int $i1
* @return string
*/
public function test($i1)

После этого все заработало. Никогда бы сразу не подумал, что информация о параметрах функции будет браться именно оттуда.

Такой день.

Совет из трех слов каждый день.

Март 14, 2011 | ITшное, Картинки | Модные словечки , , | Оставить свое мнение

Расскажу ка я сегодня об одном мини стратапе, который был рожден как результат свободного дня в один из выходных и того факта, что я сейчас активно изучаю zend framework.

Так вот, проект этот — http://threewordsadvice.com

Несомненно, многие сразу же скажут что это плагиат на fucking-great-advice.ru  (или даже goodfuckingdesignadvice.com, откуда собственно последний сайт все и стянул, переведя только на русский), но это не так. Отличия, безусловно, есть. Хотя бы то, что советы на этот сайт придумываю я сам, а не перевожу с другого места, думаю уже заслуживает того, что бы считаться уникальным.

Ну и кроме того советы состоят исключительно из трех слов. Ни меньше, ни больше.

Подумываю еще о том, что бы расписать процесс написания, такой себе аналог квик старта. Но это надо по сути заново все проделать, еще и нотируя все. Наверное, лучше еще что то такое небольшое сделать и сразу уже готовить заметки для публикации. Может быть только про работу zend_service_twitter напишу. Внятного туториала (ни в документации ни в чужих примерах) я не нашел, хотя когда разобрался то все выходит совсем просто.

В общем добро пожаловать на сайт, советы добавляются ежедневно! Подписывайтесь и рекомендуйте друзьям!