Поиск:

Ответ в темуСоздание новой темы Создание опроса
> php5 и soap server, создание веб-сервера 
:(
    Опции темы
taron123
Дата 8.5.2007, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.5.2007

Репутация: нет
Всего: нет



Код

     require('classes/CNews.php');
    require('classes/CStat.php');
    
         ini_set("soap.wsdl_cache_enabled", "0"); // отключаем кэширование WSDL
    // Enciende el servidor o despliega WSDL
    if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD']=='POST') {
        $servidorSoap = new SoapServer('http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['PHP_SELF'].'?wsdl'
                    //, array('classmap' => array('Stat' => "CStat"))
                    );
        $servidorSoap->setClass('CStat');
        //$servidorSoap->setClass('СNews');
        //$servidorSoap->setClass(array('CStat', 'CNews'));
        if (!isset($HTTP_RAW_POST_DATA)){
            $HTTP_RAW_POST_DATA = file_get_contents('php://input');
        }
        $servidorSoap->handle($HTTP_RAW_POST_DATA);
    }
    else {
        require_once 'SoapDiscovery.class.php';
        // Crea el servidor de descubrimiento
        $disco = new SoapDiscovery(array('zBot'=>'CStat','zBillingBot2' => 'CNews'),'zBot');
        //$disco = new SoapDiscovery('CStat','zBot');
        header("Content-type: text/xml");
        if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'],'wsdl')==0) {
            /*$handle = fopen('zBillingBot.wsdl', "w");
            $wsdl_xml = fwrite($handle, $disco->getWSDL());
            fclose($handle);*/
            echo $disco->getWSDL();
        }
        else {
            echo $disco->getDiscovery();
        }
    }


1) возможно ли использование в PHP5 такой встроенной штуки как генерация WSDL исходя из того как настроен SOAPServer?
    здесь юзается *.php
2) главный вопрос: можно ли использовать сервером несколько классов, а не один; также передачу структур и т.п.
в PEAR::SOAP всё супер но на PHP5 виснет апатч или ошибки разноовбразные
даже стандартные примеры не пашут "SOAP/examples/client.php"

средства использовались последние:
апач 2.2.4
пхп 5.2.2
PEAR ****
PM MAIL   Вверх
-=Ustas=-
Дата 8.5.2007, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



Цитата(taron123 @  8.5.2007,  18:01 Найти цитируемый пост)
1) возможно ли использование в PHP5 такой встроенной штуки как генерация WSDL исходя из того как настроен SOAPServer?
    здесь юзается *.php

Не понял... 
Цитата(taron123 @  8.5.2007,  18:01 Найти цитируемый пост)
2) главный вопрос: можно ли использовать сервером несколько классов, а не один; также передачу структур и т.п.

Тем более не понял.


taron123, вопрос раскрой.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
taron123
Дата 9.5.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.5.2007

Репутация: нет
Всего: нет



Цитата(-=Ustas=- @ 8.5.2007,  23:51)
Цитата(taron123 @  8.5.2007,  18:01 Найти цитируемый пост)
1) возможно ли использование в PHP5 такой встроенной штуки как генерация WSDL исходя из того как настроен SOAPServer?
    здесь юзается *.php

Не понял... 
Цитата(taron123 @  8.5.2007,  18:01 Найти цитируемый пост)
2) главный вопрос: можно ли использовать сервером несколько классов, а не один; также передачу структур и т.п.

Тем более не понял.
taron123, вопрос раскрой.

1) в модуле php_soap.dll(apache на WIN32)
есть функции создание веб-сервиса SOAPServer($wsdl)
так вот: можно ли встроенными стредствами сгенерировать этот WSDL файл?

2) WSDL создан для передачи и работы с объектами, а не только с простыми переменными
в классе SOAPServer есть метод SetClass($class)
если сделать так:
$serv->SetClass($class1);
$serv->SetClass($class2);
то $class1 не будет использоваться!!!

Есть ли способ для использования нескольких классов одним сервисом?

Это сообщение отредактировал(а) taron123 - 9.5.2007, 13:58
PM MAIL   Вверх
-=Ustas=-
Дата 9.5.2007, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



taron123, если верить php.net, то по идее можно 
Код

<?php

class foo {
    function foo()
    {
    }
}
$server->setClass("foo");

class bar {
    function bar($x, $y)
    {
    }
}
$server->setClass("bar", $arg1, $arg2);

?> 



--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
taron123
Дата 10.5.2007, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 8.5.2007

Репутация: нет
Всего: нет



с этим ты прав
кривой всдл был кривой *(

короч узание пиер или зенд-студии >= 5.0
и вперёд
на веб серверах в основном стоит ПХП 5.0.4
а некоторые примеры того же ПИЕР используют рефлекшены
а в них в этом пхп куча недоделок
в 5.1.3 вроде глюков намного меньше

да и фиксов за версии с 5.0 до 5.2.2  ~2600
жуть

всем спасибо

-=Ustas=- *)

Это сообщение отредактировал(а) taron123 - 10.5.2007, 18:58
PM MAIL   Вверх
Kostuch
Дата 10.9.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 10.9.2007
Где: Ukraine, Kiev

Репутация: нет
Всего: нет



А можно рассказать как это у Вас получается создать SOAP сервер на PHP5 ? а то у меня вот тут в темке не получается чего то :( незнаю почему может поможете ? http://forum.vingrad.ru/forum/act-ST/f-271...8/unread-1.html
PM MAIL WWW ICQ YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.