![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Необходимо по адресу http://99.99.99.99/CCWS/ccws.asmx отправлять запрос по протоколу soap,
нашел тут http://www.opennet.ru/base/dev/soap_lite_perl.txt.html с использованием soap lite но там ничего нет про формирование заголовка <soap:Header>. пример запроса :
Как правильно формировать такое сообщение? |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
а поиск по форуму совсем никак?
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Ну конечно, зашел сразу вопрос вбил и все....коненчо искал!...... только про soap ни слова...Если дадите ссылку буду очень признателен!
|
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
||||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Спасибо.Так намного лучше....как-то не в тех разделах мягко говоря темы расположены.
|
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
dron000, честно говоря там не густо
Разве что здесь А что за сайтец 99.99.99.99 ? я на него так и не смог посмотреть Это сообщение отредактировал(а) shamber - 6.11.2009, 00:21 |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Это сервис в локальной сети. Адрес соответственно изменен.
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Есть возможность как-нибудь сказать интерпретатору чтобы он строку воспринимал как просто строку символов, неудобно каждый раз собирая запрос разбирать что ему не нравится и ставить "\" ?
|
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
одинарные кавычки?
|
|||
|
||||
| krypt3r |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: нет Всего: 16 |
Юзайте оператор q();
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Если взять текст в одинарные кавычки например '<?xml version="1.0" encoding="utf-8"?>' то ничего особо не поменяется, потому как есть символы ?. " ... портящие строку а если перед ними поставить \ то в одинарных кавычках становится виден и он сам.
Добавлено через 2 минуты и 25 секунд Я имею ввиду при присвоении какой-либо переменной типа:
|
|||
|
||||
| krypt3r |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: нет Всего: 16 |
а зачем вы в апострофах экранируете столько символов?
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Для того чтобы тело xml запроса сформировать.
|
|||
|
||||
| krypt3r |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: нет Всего: 16 |
Внутри апострофов экранировать следует апостроф и бэкслэш. Не пойму, зачем экранировать точку, кавычки, вопросительный знак
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Да я уже все подряд пробовал, дабы понять что мешает.....Похоже что нет, когда меняешь <> на < > и берешь строки(или можно весь запрос сразу) в одинарные в кавычки проблема уходит.
Только теперь почему-то:
Пишет что : Can't call method "request" on an undefined value Типа $req пустой...??? |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
||||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Сделал следующим образом, возвращает 400 bad request ,без всяких комментариев насчет тела запроса в $aurl
|
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
dron000, у вас уже есть что-то работающее по этому протоколу? Если да, то http сниффером сравните, то что передает ваш скрипт, и то что передает другая программа.
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Нет..... в том то и дело , а вот посмотреть снифером хорошая идея.
|
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
dron000, а если нет, то откуда у вас в первом посте запрос приведен?
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 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 - может в этом дело или так и должно быть? |
|||
|
||||
| krypt3r |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: нет Всего: 16 |
Shamber предлагал не ваш скрипт снифать. Кстати, может, подойдет уже готовый пакет для работы с SOAP?
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Это рабочий пример запроса из проги на делфи.
Добавлено через 1 минуту и 18 секунд Да в принцыпе я не против и готовым пакетом попробовать, просто не знаю как. Бду признателен если дадите пример. |
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 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, если да то как это сделать? |
|||
|
||||
| krypt3r |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: нет Всего: 16 |
Так попробуйте
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Вот спасибо, так лучше, теперь при снифе и заголовок похож и само тело запроса отображается без левизны только я посылаю вместо <> <> и при передаче в теле они отображаются также а нужно <> хотя если просто сделать вывод на страницу строковой переменной в которой нходится тело запроса товсе ок отображаются <>.
Добавлено через 1 минуту и 37 секунд И сейчас 400 bad request я думаю из-за этого... |
|||
|
||||
| krypt3r |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 359 Регистрация: 9.6.2009 Репутация: нет Всего: 16 |
Гляньте снифером, что отправляет "другая прога", - <> или <>
|
|||
|
||||
| dron000 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 20.9.2006 Репутация: нет Всего: нет |
Всем спасибо, уже поправил.Работает.
|
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |