Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отправка soap запроса в Perl, отправка запроса по протоколу soap 
:(
    Опции темы
shamber
Дата 6.11.2009, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

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



Цитата(dron000 @  6.11.2009,  15:36 Найти цитируемый пост)
Типа $req пустой...??? 

а Data::Dump?

Добавлено @ 15:53
Цитата(dron000 @  6.11.2009,  15:36 Найти цитируемый пост)
Can't call method "request" on an undefined value 

У Вас пустой не $req, a $ua.


Это сообщение отредактировал(а) shamber - 6.11.2009, 15:53
PM MAIL Jabber   Вверх
dron000
Дата 9.11.2009, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Сделал следующим образом, возвращает 400 bad request ,без всяких комментариев насчет тела запроса в $aurl


Код

$aurl='http://99.99.99.99/CCWS/ccws.asmx';
$xdata.='.......';

$ua=LWP::UserAgent->new;
 my $req=POST $aurl,[xmldata=>$xdata];
 my $response=$ua->request($req);

my $req = HTTP::Request->new(POST => $aurl);
$req->header('Content-Type' => 'text/xml; charset=UTF-8', 'Content-Transfer-Encoding' => '7bit', 'Content-Description' => 'Document');
$req->content($xdata);
my $response = $ua->request($req);

print$cgi->start_html;

if ($response->is_success) {$in_echo=$response->content;print$cgi->h4($in_echo);}
else {print $response->error_as_HTML;}
  
 print$cgi->end_html;


PM MAIL   Вверх
shamber
Дата 9.11.2009, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

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



dron000, у вас уже есть что-то работающее по этому протоколу? Если да, то http сниффером сравните, то что передает ваш скрипт, и то что передает другая программа.

PM MAIL Jabber   Вверх
dron000
Дата 9.11.2009, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Нет.....  в том то и дело , а вот посмотреть снифером хорошая идея.
PM MAIL   Вверх
shamber
Дата 9.11.2009, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

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



dron000, а если нет, то откуда у вас в первом посте запрос приведен?
PM MAIL Jabber   Вверх
dron000
Дата 9.11.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Посмотел  в Wire Shark, в теле пакета следующее:

POST /CCWS/ccws.asmx HTTP/1.1
TE: deflate,gzip;q=0.3
Connection: TE, close
Host: 99.99.99.99
User-Agent: libwww-perl/5.814
Content-Length: 2763
Content-Type: application/x-www-form-urlencoded

если смотреть в аски:

xmldata=%26lt%3B%3Fxml+version%3D%221.0%22+encoding%3D%22utf-8%22%3F%26gt%3B%0A%26lt%3Bsoap%3AEnvelope%0A++xmlns%3Asoap%3D%22http%3A%2F%2Fschemas.xmlsoap.org%2Fsoap%2Fenvelope%2F%22%0A+++xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance%22%0A+++xmlns%3Axsd%3D%22http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%22%0A+++xmlns%3Awsa%3D%22http%3A%2F%2Fschemas.xmlsoap.org%2Fws%2F2004%2F08%2Faddressing%22%0A+++xmlns%3Awsse%3D%22http%3A%2F%2Fdocs.oasis-open.org%2Fwss%2F2004%2F01%2Foasis-200401-wss-wssecurity-secext-1.0..............

все тело запроса отобращается в таком виде как выше.

HTTP/1.1 400 Bad Request

Connection: close
Date: Mon, 09 Nov 2009 09:30:11 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: private
Content-Type: text/html

Может переедаваемый формат не тот??
Content-Type: application/x-www-form-urlencoded - может в этом дело или так и должно быть?



PM MAIL   Вверх
krypt3r
Дата 9.11.2009, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Shamber предлагал не ваш скрипт снифать. Кстати, может, подойдет уже готовый пакет для работы с SOAP?
PM MAIL   Вверх
dron000
Дата 9.11.2009, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Это рабочий пример запроса из проги на делфи.

Добавлено через 1 минуту и 18 секунд
Да в принцыпе я не против и готовым пакетом попробовать, просто не знаю как. Бду признателен если дадите пример.
PM MAIL   Вверх
dron000
Дата 9.11.2009, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Заголовок пакета при снифе с той проги другой :

POST /CCWS/ccws.asmx HTTP/1.1
SOAPAction: "http://plat_ad.com/prepaid/ccws/RetrieveSubscriberWithIdentityNoHistory"Content-Type: text/xml
User-Agent:  Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.42)
Host: 99.99.99.99
Content-Length: 1801
Connection: Keep-Alive
Cache-Control: no-cache
.........
и тело в аски отображается без вопросов.Нужно ли при таком варианте  отправке как у меня указывать
SOAPAction, если да то как это сделать?
PM MAIL   Вверх
krypt3r
Дата 9.11.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Так попробуйте
Код

my $url = 'http://99.99.99.99/CCWS/ccws.asmx';
my $ua = LWP::UserAgent->new ('agent' => 'Opera');
my $req = $ua->post ($url,
  'Host' => '99.99.99.99', 
  'Referrer' => $url, 
  'Content_Type' => 'text/xml', 
  'SOAPAction' => 'http://plat_ad.com/prepaid/ccws/RetrieveSubscriberWithIdentityNoHistory',
  'Content' => [
    ...
  ]
);

PM MAIL   Вверх
dron000
Дата 9.11.2009, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вот спасибо, так лучше, теперь при снифе и заголовок похож и само тело запроса отображается без левизны только я посылаю вместо <>  &lt;&gt; и при передаче в теле они отображаются также а нужно <> хотя если просто сделать вывод на страницу строковой переменной в которой нходится тело запроса товсе ок отображаются <>. smile

Добавлено через 1 минуту и 37 секунд
И сейчас  400 bad request  я думаю из-за этого...
PM MAIL   Вверх
krypt3r
Дата 9.11.2009, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Гляньте снифером, что отправляет "другая прога", - <> или &lt;&gt;
PM MAIL   Вверх
dron000
Дата 10.11.2009, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Всем спасибо, уже поправил.Работает.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




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


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

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