skn писал(а):
ну так это апи предназначено для интеграции с внешними системами, так что и авторизацию можете сами добавить если нужно, или использовать внешние механизмы, например nginx.
Ув. skn, еще несколько вопросов:
1. А разве бывает случаи, когда доступ для внешних систем бывает без авторизации?
Было бы неплохо, что бы была возможность авторизации средствами биллинга.
2. Вы сможете подсказать, как реализовать Basic авторизацию в моем веб сервисе? Или мне в helpdesk?
3. В стандартных веб сервисах биллинга, в xml передается:
Код:
<S:Header>
<auth xmlns="http://ws.base.kernel.bgbilling.bitel.ru/" pswd="*****" user="lda"></auth>
</S:Header>
Как называется этот тип авторизации?
Я пробовал обращаться к Вашему веб сервису
http://X.X.X.X:8080/bgbilling/executer/ ... torService.
Пробовал из 1С 8.2. В 1с-ке я нашел только Basic авторизация, следовательно из 1с-ки я не могу обратиться к вашему веб сервису.
Пробовал из перла, таже проблема.
Но для перла нашел как обойти эту проблему, вот работающий код:
Код:
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
use LWP::UserAgent;
use HTTP::Request;
my $message = '<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header>
<auth xmlns="http://ws.base.kernel.bgbilling.bitel.ru/" pswd="****" user="lda"></auth>
</S:Header>
<S:Body>
<ns5:changeContractStatus
xmlns:common="http://common.bitel.ru"
xmlns:ns5="http://common.status.contract.kernel.bgbilling.bitel.ru/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cid xmlns="">58060</cid>
<statusId xmlns="">1</statusId>
<dateFrom xmlns="">2012-12-20T00:00:00+04:00</dateFrom>
<comment xmlns=""></comment>
</ns5:changeContractStatus>
</S:Body>
</S:Envelope>';
my $userAgent = LWP::UserAgent->new();
my $request = HTTP::Request->new(POST => 'http://X.X.X.X:8080/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService');
$request->header(SOAPAction => '"http://common.status.contract.kernel.bgbilling.bitel.ru/ContractStatusMonitorService/changeContractStatusRequest"');
$request->content($message);
$request->content_type("text/xml; charset=utf-8");
my $response = $userAgent->request($request);
print Dumper($response);
Так вот вопрос, почему Вы не используете Basic авторизацию для Ваших веб сервисов?