BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 мар 2024, 11:16

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 91 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 04 дек 2014, 19:31 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Как вызвать метод inetServGet ? Так?
https://адрес/bgbilling/webexecuter?module=inet&action=service.common.api.inet.modules.bgbilling.bitel.ru/InetServService/inetServGetRequest&user=usert&pswd=password


Последний раз редактировалось Inspire 04 дек 2014, 19:35, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 04 дек 2014, 19:47 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
пример вызова веб-серсиса из php http://wiki.bitel.ru/index.php/%D0%98%D ... %D0%B7_PHP


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 04 дек 2014, 20:42 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skn писал(а):
Inspire писал(а):
Что-то executer-ом там и близко не пахнет. Мне не нужен веб сервис. Мне команда смены пароля через executer нужна. Смена пароля и в биллинге реализована.


увы эта операция делается не через executer...
executer типа устаревший метод, все новые операции делаются на веб-сервисах
и старые понемногу также переводятся с executer на сервисы


skn ввел вас в заблуждение. Операция эта делается через executer (забудьте про webexcuter пока), но не простым http-запросом c &action=.., а посредством soap-запроса(посылаете xml определенного вида). Эту xml не делают руками, технолоия web-cервисов позволяет вызывать из любого языка метод, и этот метод автоматически преобразуется в xml-запрос и xml-ответ, но коде выглядит для вас как будто вы вызвали обычный метод и получили результат. Вам нужно выяснить как работать с web-сервисами на php. (/excuter в url так и остается, просто надо обращаться к нему по другому, не обычным http-запросом).

И вот в предыдущем посте skn дает ссылку на пример как вызывать web-сервис из php. В том примере активируется тарифная опция.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 04 дек 2014, 20:51 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
топикстартер на протяжении 3х страниц не понимает основного:
1. есть webexecuter, которым в большинстве случаев (например, в вопросах этой темы) пользоваться не надо, через него работает ЛК (кстати, там есть несколько методов тоже)
2. есть executer вариант 1: работа через Action, посредством вызова урла с GET-параметрами и получением xml. это устаревший вариант.
3. есть executer вариант 2: вызов web-сервисов, от executer в данном случае одно название, это просто point для сервиса. это новый вариант.
[!] причём свободного выбора между методами 2 и 3 нету никакого, некоторые действия обязательно делаются только методом 2, некоторые только методом 3. потому выбор метода 2 или 3 делается исходя из поставленной задачи.
4. и главное:
Цитата:
Я не понимаю просто, как еще делать через веб-сервис, если не через webexecuter?
веб-сервис никак не связан с вебом, личным кабинетом и webexecuter-ом, это название технологии.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 12:24 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Это я уяснил, спасибо. В этом примере http://wiki.bitel.ru/index.php/%D0%98%D ... %D0%B7_PHP используется метод contractTariffOptionActivate, в которые передаются параметры 'contractId'=>10,'optionId'=>1,'modeId'=>1, 'web'=>false'.
Я искал, где написано, какие параметры нужно передавать. В wsdl https://172.16.0.5:8443/bgbilling/execu ... rvice?wsdl один параметр -
<part name="parameters" element="tns:contractTariffOptionActivate"/> типа contractTariffOptionActivate (или с пространством имен tns:contractTariffOptionActivate). Где можно посмотреть, какие параметры нужно передавать в метод? В java doc-ах не нашел такого метода, в документации тоже. И где можно найти список существующих wsdl?
Мне точно нужна эта wsld https://172.16.0.5:8443/bgbilling/execu ... rvice?wsdl для смены пароля ?
Там только один метод связанный с паролем - inetServPasswordGenerate. Судя по названию, он его создает, а не меняет. Но, может, я ошибаюсь, потому что опять-таки не понятно, что входит в этот параметр этого метода <part name="parameters" element="tns:inetServPasswordGenerate"/>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 12:51 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Inspire писал(а):
Это я уяснил, спасибо. В этом примере http://wiki.bitel.ru/index.php/%D0%98%D ... %D0%B7_PHP используется метод contractTariffOptionActivate, в которые передаются параметры 'contractId'=>10,'optionId'=>1,'modeId'=>1, 'web'=>false'.
Я искал, где написано, какие параметры нужно передавать. В wsdl https://172.16.0.5:8443/bgbilling/execu ... rvice?wsdl один параметр -
<part name="parameters" element="tns:contractTariffOptionActivate"/> типа contractTariffOptionActivate (или с пространством имен tns:contractTariffOptionActivate). Где можно посмотреть, какие параметры нужно передавать в метод? В java doc-ах не нашел такого метода, в документации тоже. И где можно найти список существующих wsdl?

Там не один параметр, а 4. Все должно быть в wsdl. Если не можете найти смотрите в нашей документации.
http://bgbilling.ru/v6.1/javadoc/ru/bit ... rvice.html
там метод contractTariffOptionActivate.
список wsdl берите из лога запроса клиента .
Inspire писал(а):
Мне точно нужна эта wsld https://172.16.0.5:8443/bgbilling/execu ... rvice?wsdl для смены пароля ?

да
http://bgbilling.ru/v6.1/javadoc/ru/bit ... rvice.html
Inspire писал(а):
Там только один метод связанный с паролем - inetServPasswordGenerate. Судя по названию, он его создает, а не меняет. Но, может, я ошибаюсь, потому что опять-таки не понятно, что входит в этот параметр этого метода <part name="parameters" element="tns:inetServPasswordGenerate"/>

нет, там есть универсальный метод inetServUpdate, он обнвляет все данные сервиса в том числе и пароль . Чтобы получить заполненный сервис - inetServGet.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 13:20 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Сил отвечать уже нет. Вот код файла test.php, который меняет пароль. Код 100% рабочий.
Код:
#!/usr/bin/php

<?php
    $login = 'login';
    $password = 'password';

    $client = new SoapClient(
        'http://1.2.3.4:8080/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/3/InetServService?wsdl',
        array(
            'login' => $login,
            'password' => $password
        )
    );

    // Вывод всех доступных методов, их параметров и возвращаемых значений в сервисе.
    var_dump($client->__getFunctions());

    echo "\n--- inetServGet ---\n";
    $params = array(
        'inetServId' => 680
    );
    $serv = $client->inetServGet($params)->return;
    print_r($serv);

    echo "\n--- Update password ---\n";
    $serv->passw = '789456';
    print_r($serv);

    echo "\n--- InetServUpdate ---\n";
    $params = array(
        'inetServ' => $serv,
        'generateLogin' => false,
        'generatePassword' => false,
        'saWaitTimeout' => 0
    );
    $result = $client->inetServUpdate($params);
    print_r($result);
?>

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 13:26 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Стоит заметить, что в биллинге есть глюк.
У меня настроено два модуля Inet, один с идентификатором 24, другой с идентификатором 25. Когда в браузере пишу
Код:
http://1.2.3.4:8080/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/24/InetServService?wsdl

в полученом документе вот такой код:
Код:
<types>
    <xsd:schema>
        <xsd:import
            namespace="http://service.common.api.inet.modules.bgbilling.bitel.ru/"
            schemaLocation="http://1.2.3.4:8080/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/25/InetServService?xsd=1"/>
    </xsd:schema>
    <xsd:schema>
        <xsd:import
             namespace="http://common.bitel.ru"
             schemaLocation="http://1.2.3.4:8080/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/25/InetServService?xsd=2"/>
    </xsd:schema>
</types>

Видно, что идентификатор модуля другой. В результате, когда через php создаю клиент и выполняю запрос, реально запрос попадает в другой модуль. Такая штука может надолго ввести в ступор.

Создал отдельную тему viewtopic.php?f=44&t=9992

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 15:06 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Ну это да. Потерпите, я тоже устал)) Вставил ваш код, все работает. Пароль меняется, но при подключении выдает ошибку неверного логина/пароля. Глюка у меня нет, проверил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 15:16 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Как же он меняет пароль, если при подключении выдаёт ошибку? И собственно, где текст ошибки с трейсом? И подключении чего и куда?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 15:21 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
в базе данных пароль изменился. При подключении к интернету выдает 691 ошибку


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 15:24 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Inspire писал(а):
в базе данных пароль изменился. При подключении к интернету выдает 691 ошибку

а access что выдает в логах? reject ? покажите


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 15:34 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Разобрался с ошибкой. Спасибо за помощь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 18:27 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Заметил одну особенность. Пароль меняется, к инету подключается, но слетает опция deviceOptions или (devOpts) в связи с чем у пользователя без доступа к интернету. Чтобы был доступ к интернету, значение опции должно быть 4,5. Подскажите, как ее в коде поставить, я делаю так
Код:
echo "\n--- Update password ---\n";
    $serv->passw = '123456';
    $serv->devOpts = '4,5';
    print_r($serv);

    echo "\n--- InetServUpdate ---\n";
    $params = array(
        'inetServ' => $serv,
        'generateLogin' => false,
        'generatePassword' => false,
        'saWaitTimeout' => 0
    );
    $result = $client->inetServUpdate($params);
    print_r($result);

Но она не меняется


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 19:06 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
там вторым параметром можно передать optionList
http://bgbilling.ru/v6.1/javadoc/ru/bit ... an,%20long)

Код:
inetServUpdate(InetServ inetServ, java.util.List<InetServOption> optionList, boolean generateLogin, boolean generatePassword, long saWaitTimeout)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 05 дек 2014, 20:20 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Что-то мне кажется, что второй параметр - это опции, которые жестко на сервис привязаны, а слетают опции, которые из тарифных планов.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 06 дек 2014, 14:23 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
vkulakov писал(а):
Что-то мне кажется, что второй параметр - это опции, которые жестко на сервис привязаны, а слетают опции, которые из тарифных планов.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 08 дек 2014, 11:47 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Всем доброе утро, мы уже как почти 4 страницы вместе) Может, я чего-то не знаю, но разве в php есть java.util.List класс? Ведь параметр метода InetServUpdate именно java.util.List<InetServOption> optionList


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 08 дек 2014, 11:56 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Inspire писал(а):
Всем доброе утро, мы уже как почти 4 страницы вместе) Может, я чего-то не знаю, но разве в php есть java.util.List класс? Ведь параметр метода InetServUpdate именно java.util.List<InetServOption> optionList



Это же web-сервисы ..я вам показал как это выглядит со стороны java . как это передавать со стороны php - без понятия . Но любые объекты там имеют аналог .. Вам проще получить эти опции с помощью метода inetOptionList из Web-сервиса и передать их обратно, не указывая тип .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 08 дек 2014, 13:10 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Подозреваю, что stark подразумевал метод inetServOptionList. Все методы, их параметры и структуру этих параметрах нужно смотреть в wsdl и xsd (его можно посмотреть в браузере, заменив после вопроса wsdl на xsd=1.

В итоге запрос будет выглядеть примерно так:
Код:
    $params = array(
        'inetServ' => $serv,
        'optionList' => array(
            'serviceId' => 1234,
            'optionId' => 1),
        'optionList' => array(
            'serviceId' => 1234,
            'optionId' => 2),
        'generateLogin' => false,
        'generatePassword' => false,
        'saWaitTimeout' => 0
    );
    $result = $client->inetServUpdate($params);

Но всё-равно optionList здесь - это опции, жёстко привязанные к сервису. Если их здесь указать, то опции из тарифа перейдут на сервис. Сервис-то работать будет, но это уже не то...

Кстати, я сейчас пробую у себя - опции не исчезают, правда, я пока не могу попробовать подключиться.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 08 дек 2014, 13:20 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Да, скорее всего, так и есть. Потому что в inetOptionList Только такие опции, а мне надо deviceOptions
Код:
 [id] => 13
            [title] => 10 Мбит/сек
            [parentId] => 3
            [comment] =>
            [config] =>
            [groupIntersection] =>


На счет запроса, мне кажется, надо сделать так для получение опций
Код:
    $params = array(
        'inetServId' => 11
    );
    $serv = $client->inetServOptionList($params)->return;
    print_r($serv);


Но у меня выводит такую ошибку Notice: Undefined property: stdClass::$return in C:\server\www\test.php on line 23. Что указывает на то, что я неверный параметр передал. Но он такой же как и в методе inetServGet(int inetServId). Так что он верный. Не знаю, в чем проблема еще.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 08 дек 2014, 13:27 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
->return уберите.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 08 дек 2014, 13:31 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Подставил ваш код, все работает, пароль меняется, доступ к интернету есть. Спасибо вам большое!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 08 дек 2014, 13:39 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Слетали какие опции? Которые из тарифных планов или которые жёстко привязаны к сервису на вкладке опции?

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 08 дек 2014, 14:46 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Слетал nat, который привязан к сервису на вкладке опции


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 11 дек 2014, 13:07 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
vkulakov писал(а):
Подозреваю, что stark подразумевал метод inetServOptionList. Все методы, их параметры и структуру этих параметрах нужно смотреть в wsdl и xsd (его можно посмотреть в браузере, заменив после вопроса wsdl на xsd=1.


Вот я хочу посмотреть параметры метода inetOptionList.
Метод находится этот в этом классе https://сайт/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/3/InetServService?wsdl.
Где вы нашли описание этих параметров?
'optionList' => array(
'serviceId' => 1234,
'optionId' => 1),

По крайней мере https://сайт/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/3/inetOptionList?wsdl и xsd=1 - не канает и
https://сайт/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/3/InetServService/inetOptionList?wsdl тоже.
И еще вопрос. Хочу сделать так, чтобы при создании договора в биллинге, создавалось автоматически задание в редмайне. Подскажите направление, в котором двигаться. Мне создавать скрипт поведения, который будет реагировать на создание договора и дальше в нем все делать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 11 дек 2014, 14:39 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Код:
https://сайт/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/3/InetServService?xsd=1

xml в браузере по этой ссылке отображается?

Если отображается и wsdl и xsd не помогают вам понять, какой код писать на PHP, то я не знаю, что вам посоветовать.

По поводу задания в редмайне - нужно более подробное описание задачи. Для начала можете почитать здесь: http://forum.bitel.ru/viewtopic.php?f=1&t=9976

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 11 дек 2014, 15:04 
Не в сети

Зарегистрирован: 21 ноя 2014, 15:11
Сообщения: 393
Карма: 0
Все, нашел. Я просто посмотрел на то, что вначале wsdl и xsd не сильно отличаются по содержанию и не посмотрел ниже.
Ок, спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 12 апр 2016, 21:23 
Не в сети

Зарегистрирован: 02 июн 2012, 12:46
Сообщения: 33
Карма: 0
Доброго времени суток.

Подскажите пожалуйста в 5.2 подобное общение с wsdl сервисом работает? Нужно апдейтить сервис в inet
Напрямую в мануале не написано, но wsdl - есть.

Скрипт:
Код:
<?php
$wsdl = "http://127.0.0.1:8080/bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/2/InetServService?wsdl";
$options = array(
    'login' => 'Bg_Script',
    'password' => 'Bgbilling',
);

$client = new SoapClient($wsdl, array('login' => "Bg_Script",
                                            'password'       => "Bgbilling",
                                                    'trace' => 1,
                                                                    )
                                                                        );
//var_dump($client->__getFunctions());

$answer = $client->__SoapCall('inetServList',array(
                                    array (
                                        'contractId'=>"4443"
                                        )
                                        )
                                        );

echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>



3 часа потратил в ответ ошибка:

Код:
PHP Fatal error:  Uncaught SoapFault exception: [S:Server] javax.security.auth.login.LoginException in -:27
Stack trace:
#0 -(27): SoapClient->__soapCall('serviceList', Array)
#1 {main}
  thrown in - on line 27


Пакет запроса:
Код:
U9..U9..POST /bgbilling/executer/ru.bitel.bgbilling.modules.inet.api/2/InetServService HTTP/1.1
Host: 127.0.0.1:8080
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.3.3
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 306
Authorization: Basic QmdfU2NyaXB0OkJnYmlsbGluZw==

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://service.common.api.inet.modules.bgbilling.bitel.ru/"><SOAP-ENV:Body><ns1:inetServList><contractId>4443</contractId></ns1:inetServList></SOAP-ENV:Body></SOAP-ENV:Envelope>



Разбирал разные примеры везде одно и тоже..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Смена тарифного плана
СообщениеДобавлено: 13 апр 2016, 20:26 
Не в сети

Зарегистрирован: 02 июн 2012, 12:46
Сообщения: 33
Карма: 0
В ответ возвращается:

Код:
<?xml version="1.0" ?>
<S:Envelopexmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<S:Faultxmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>S:Server</faultcode>
<faultstring>javax.security.auth.login.LoginException</faultstring>
<detail>
<ns2:exceptionxmlns:ns2="http://jax-ws.dev.java.net/"class="javax.security.auth.login.LoginException"note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false">
<ns2:stackTrace>
<ns2:frameclass="ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler"file="JaxWsHandler.java"line="226"method="invoke"/>
<ns2:frameclass="ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1"file="AbstractJaxWsHandler.java"line="304"method="invoke"/>
<ns2:frameclass="com.sun.xml.ws.server.InvokerTube$2"file="InvokerTube.java"line="150"method="invoke"/>
<ns2:frameclass="com.sun.xml.ws.server.sei.EndpointMethodHandler"file="EndpointMethodHandler.java"line="261"method="invoke"/>
<ns2:frameclass="com.sun.xml.ws.server.sei.SEIInvokerTube"file="SEIInvokerTube.java"line="100"method="processRequest"/>
<ns2:frameclass="com.sun.xml.ws.api.pipe.Fiber"file="Fiber.java"line="641"method="__doRun"/>
<ns2:frameclass="com.sun.xml.ws.api.pipe.Fiber"file="Fiber.java"line="600"method="_doRun"/>
<ns2:frameclass="com.sun.xml.ws.api.pipe.Fiber"file="Fiber.java"line="585"method="doRun"/>
<ns2:frameclass="com.sun.xml.ws.api.pipe.Fiber"file="Fiber.java"line="482"method="runSync"/>
<ns2:frameclass="com.sun.xml.ws.server.WSEndpointImpl$2"file="WSEndpointImpl.java"line="314"method="process"/>
<ns2:frameclass="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit"file="HttpAdapter.java"line="608"method="handle"/>
<ns2:frameclass="com.sun.xml.ws.transport.http.HttpAdapter"file="HttpAdapter.java"line="259"method="handle"/>
<ns2:frameclass="com.sun.xml.ws.transport.http.servlet.ServletAdapter"file="ServletAdapter.java"line="162"method="handle"/>
<ns2:frameclass="ru.bitel.common.server.JaxWSAdapter"file="JaxWSAdapter.java"line="389"method="handle"/>
<ns2:frameclass="bitel.billing.server.Executer"line="unknown"method="doPost"/>
<ns2:frameclass="javax.servlet.http.HttpServlet"file="HttpServlet.java"line="641"method="service"/>
<ns2:frameclass="javax.servlet.http.HttpServlet"file="HttpServlet.java"line="722"method="service"/>
<ns2:frameclass="org.apache.catalina.core.ApplicationFilterChain"file="ApplicationFilterChain.java"line="304"method="internalDoFilter"/>
<ns2:frameclass="org.apache.catalina.core.ApplicationFilterChain"file="ApplicationFilterChain.java"line="210"method="doFilter"/>
<ns2:frameclass="bitel.billing.server.filters.SetCharacterEncodingFilter"file="SetCharacterEncodingFilter.java"line="48"method="doFilter"/>
<ns2:frameclass="org.apache.catalina.core.ApplicationFilterChain"file="ApplicationFilterChain.java"line="243"method="internalDoFilter"/>
<ns2:frameclass="org.apache.catalina.core.ApplicationFilterChain"file="ApplicationFilterChain.java"line="210"method="doFilter"/>
<ns2:frameclass="org.apache.catalina.core.StandardWrapperValve"file="StandardWrapperValve.java"line="240"method="invoke"/>
<ns2:frameclass="org.apache.catalina.core.StandardContextValve"file="StandardContextValve.java"line="164"method="invoke"/>
<ns2:frameclass="org.apache.catalina.authenticator.AuthenticatorBase"file="AuthenticatorBase.java"line="462"method="invoke"/>
<ns2:frameclass="org.apache.catalina.valves.AccessLogValve"file="AccessLogValve.java"line="563"method="invoke"/>
<ns2:frameclass="org.apache.catalina.core.StandardHostValve"file="StandardHostValve.java"line="164"method="invoke"/>
<ns2:frameclass="org.apache.catalina.valves.ErrorReportValve"file="ErrorReportValve.java"line="100"method="invoke"/>
<ns2:frameclass="org.apache.catalina.core.StandardEngineValve"file="StandardEngineValve.java"line="118"method="invoke"/>
<ns2:frameclass="org.apache.catalina.connector.CoyoteAdapter"file="CoyoteAdapter.java"line="403"method="service"/>
<ns2:frameclass="org.apache.coyote.http11.Http11Processor"file="Http11Processor.java"line="301"method="process"/>
<ns2:frameclass="org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler"file="Http11Protocol.java"line="162"method="process"/>
<ns2:frameclass="org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler"file="Http11Protocol.java"line="140"method="process"/>
<ns2:frameclass="org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor"file="JIoEndpoint.java"line="309"method="run"/>
<ns2:frameclass="java.util.concurrent.ThreadPoolExecutor$Worker"file="ThreadPoolExecutor.java"line="886"method="runTask"/>
<ns2:frameclass="java.util.concurrent.ThreadPoolExecutor$Worker"file="ThreadPoolExecutor.java"line="908"method="run"/>
<ns2:frameclass="java.lang.Thread"file="Thread.java"line="662"method="run"/>
</ns2:stackTrace>
</ns2:exception>
</detail>
</S:Fault>
</S:Body>
</S:Envelope>



Прошу помощи... отзовитесь умные люди плз.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 91 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.088s | 78 Queries | GZIP : On ]