![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
Kostuch |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
Здравствуйте!
У меня стоит такая задача. Сделать SOAP сервер при помощи PHP что бы в дальнейшем посредствам этого сервера с моими веб сервисами могли общаться др. языки программирования (Перл, C#, Java ну и др…) Вот из всего что я пока что нарыл у меня имеется такой вот примерчик (http://www.inode.ru/articles/xml/2005-08-11/35#part_3_3) Делая все по инструкциям и доходя до следующего кода в страницах: SERVER1.PHP
CLIENT3.PHP
stockquote.WSDL
У меня получается при обращении из самого же php 5.2.3 (с подключенными всеми модулями и проинсталеным pear) вот такой вот ответ :( Что ж я делаю не так подскажите плз? Ошибка:
|
||||||||
|
|||||||||
Kostuch |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
Используя этот пример : пример SOAP+PEAR+PHP получаю
Catchable fatal error: Object of class SOAP_Fault could not be converted to string in F:\Apache2\htdocs\index.php on line 7и что это за HTTP В чем может быть проблемма? код index.php ниже
Это сообщение отредактировал(а) Kostuch - 12.9.2007, 19:40 |
|||
|
||||
Kostuch |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
В общем примерчик этот заработал но вот второй и самый главный для меня не работает :( сервер SOAP Просто кудато перекидывает по рефереру и говорит "Сервер не найден - невозможно отобразить стр...".
Вот код: [Test1.php]
[testserver1.php]
В этом примере все вроде бы ничего да вот только : Cannot pass parameter 2 by reference in Z:\home\soap.me\www\test1\client.php on line 8 (SERVER.PHP)
(SERVER.PHP)
Это сообщение отредактировал(а) Kostuch - 10.9.2007, 15:55 |
||||||||
|
|||||||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
Kostuch, а можно поинтересоваться, у вас не валидный WSDL только здесь - в примере - приведен, или вы именно его и используете?
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: нет Всего: 146 |
||||
|
||||
Kostuch |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
IZ@TOP,
Все что я использую я исп. в примере больше неего :( Но вообще разве PHP5 не может генерить сам WSDL на основании какого либо класса ? Я уже столько способов перепробовал и NuSOAP и PEAR:SOAP и обычный PHP5 SOAP extention ничего не получается. Все примеры что я привел как то не очень рабочие но др я не нашел :( У меня стоит задача сделать SOAP сервер под PHP5.. ну PEAR я установил и все дополнения что вклю работу SOAP под ним тоже поставил но вот как все это сделать не пойму. Самый первый пример - самый полный но и самый неудачный потому что старый и ссылки там умерли некоторые. Хотя не мне судить, но факт тот что не работает. Вот последнее 2 что я привел как то более живее но опять же не работают :( Может кто то знает как по самому простому сделать SOAP сервен на PHP5 под Windows (сейчас именно так стоит PHP + Apache). sTa1kEr, вы имеете ввиду эту строчку ? $client = new SoapClient("stockquote.wsdl",array('proxy_host'=>"proxy.central.office", 'proxy_port'=>3128)); ? или что я не совсем понял ? |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: нет Всего: 146 |
Нет. Я имею ввиду 43-ию строчку WSDL. Там надо прописать URL к вашему SERVER1.PHP, иначе как по вашему клиент вообще узнает куда ему обращаться? Добавлено через 2 минуты и 42 секунды Да и в самом конструкторе SoapClient лучше указать URL к stockquote.wsdl. Вы же не будете таскать вместе с клиентом сам WSDL файл? |
|||
|
||||
Kostuch |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
sTa1kEr,
Мдя, "факир был пян.." спасибо за то что показали что именно не так было ![]() Это сообщение отредактировал(а) Kostuch - 10.9.2007, 17:21 |
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: нет Всего: 146 |
Имено средствами PHP - не знаю, не встречал. Да и зачем это надо? WSDL описывает работу вашего сервиса и создается один раз, после чего все клиенты работают именно по этому WSDL. А при добавлении/изменении функциональности веб сервиса обычно создается новый WSDL с постфиксом версии в имени файла (иначе может получится очень не приятная ситуация, когда у клиента в кэше старый WSDL, а сервер уже работает по новому). А вот IDE многие позволяют генерировать WSDL. К примеру, Zend Studio умеет очень грамотно и удобно генерировать его на основании PHP классов. Через Altova Spy XML можно просто удобно редактировать его с валидацией синтаксиса. Через Sybase Power Designer, имхо, очень удобно проектировать WSDL с нуля при помощи блок схем, а после сгенерировать PHP (да и на многих других языках) классы. |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
По поводу автоматической генерации WSDL'я:
http://www.google.ru/search?hl=ru&q=ws...1%D0%BA&lr= Используйте Google. Очень советую. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Kostuch |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
sTa1kEr,
Спасибо уже рассмотрел эти варианты просто прогу не хотелось ставить отдельно. IZ@TOP, Только так и не иначе никак я все и понаходил ![]() |
|||
|
||||
Kostuch |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
Вопросик, вот эта вещица вроде может генерить WSDL! Но вот как я не пойму :( можете подсказать ?
В общем так я и не нашел рабочей версии программы для генерения WSDL из PHP :( Только Зен студио разве что но че то он у меня перестал работать :( Да и огромная софтина как для такой простой функции Это сообщение отредактировал(а) Kostuch - 11.9.2007, 16:35 |
|||
|
||||
IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: нет Всего: 73 |
Kostuch, есть вариант самому генерабор WSDL'я написать) Но за это не всяк возьмется.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
Kostuch |
|
||||||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
Значит текс. Создать сообщение в теме про БД я почему т оне могу... потому тут пишу...
Есть следующая проблема. Написан веб сервис на SOAP сервер посредствам PHP5 который конектится к базе и получает информацию из нее. если все делать на английском то все оки. Как только переходим на русском не передается ответ, точнее передается не в той кодировке. В общем даже из самого же ПХП если юзать сервис написанный мною то ничего не получается получить :( ![]() ![]() Вот мой пример: news.php
cleint.php
DB_Connect.php
news.wsdl
SQL
Вот что выдает
Это сообщение отредактировал(а) Kostuch - 12.9.2007, 17:18 |
||||||||||||
|
|||||||||||||
Kostuch |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 10.9.2007 Где: Ukraine, Kiev Репутация: нет Всего: нет |
Ну плизз.. неужели никто не знает как решить проблемму ?
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Libraries | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |