powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Нестабильно работает SOAP метод
25 сообщений из 28, страница 1 из 2
Нестабильно работает SOAP метод
    #35716268
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
М.б кто уже сталкивался: в цикле идет вызов SOAP метода. Метод из области SAMPLES.
SOAP.DemoProxy.AddInteger. Через некоторый промежуток времени выдается ошибка.

ОШИБКА #6059: Не удалось открыть TCP/IP сокет к серверу localhost:80<COMMAND>Soap+11^test

Промежутки времени бывают различными. Может работать 5 минут, может и 1,5 часа, но ошибка та же. Причем, если загнать вызов сервиса в цикл и при этой ошибке делать новый вызов, даже с повторной авторизацией, все равно выдается та же ошибка. А если перезапустить программу, то опять работает (и опять вылетает). Запускаю из терминала:
Soap()
set $zt="Error"
new z,%sc,x,i
set z=##class(SOAP.DemoProxy).%New()
write !,"begin "_$ZDT($h,4)
set %sc=z.WSSecurityLogin("test","test")
if '%sc {
do $system.OBJ.DisplayError(%sc)
quit
}
for i=1:1 {
set x=z.AddInteger(i,1)
}
write !,"end "_$ZDT($h,4)
quit
Error set $zt=""
write $zerror
write !,"end "_$ZDT($h,4)
break
quit
Собственно, задал вопрос в WRC, но м.б. удастся раньше понять, где собака порылась :)
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35716443
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в методе z.WSSecurityLogin("test","test") гдето не прописан возврат, ето мампсовая ошибка, учите мат часть
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35716821
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ceshka, можно подробнее для "особо одаренных"?
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35716904
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.Kokovceshka, можно подробнее для "особо одаренных"?
в z.WSSecurityLogin("test","test") гдето стоит просто q (возможно в несколькиъх местах), а должно стоять q result или чего она там по задумке вернуть должна
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35716934
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка

Код: plaintext
<COMMAND>Soap+ 11 ^test

Вследствии вызова процедуры как функции. Т.е. ожидается некий возврат значения, а собствено возврата-то и нет.

Например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
...
START(Val)
 // некий код
 q
...
 // Вот такой вызов приведет к означеной ошибке
 s val=$$START()
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717014
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В тексте данного метода два set'a и quit $$$OK.
Это метод системного %SOAP.WebClient, в результате выполнения которого при вызовах сервиса к запросам подцепляется токен и отпадает необходимость в повторной авторизации в пределах сеанса.
Method WSSecurityLogin(Username As %String, Password As %String) As %Status
{
Set ..Username=Username
Set ..Password=Password

Quit $$$OK
}
затем в вызове InvokeClient() используется метод
Method MakeSecurityHeader() [ Internal, Private ]
{
If $isobject(i%SecurityOut) && (i%SecurityOut.FindElement("UsernameToken")'="") Quit

Set token=##class(%SOAP.Security.UsernameToken).Create(..Username,..Password)
Do ..SecurityOut.AddToken(token)

Quit
}
Можно предположить, что сокет как-то действительно блокируется для данного сеанса. Пока нет других идей, на всякий случай попробую программно грохнуть идентификатор сессии и заново подцепиться
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717076
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дошло, о чем вы мне втолковываете :)
Согласен, там я косячил :(
Но суть вопроса в другом: у меня обламывается сервис, причем через разные периоды времени. И я не могу понять, по какой причине и как с этим бороться. Причем на локалхосте и из примеров интерсистемс.
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717089
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.KokovДошло, о чем вы мне втолковываете :)
Согласен, там я косячил :(
Но суть вопроса в другом: у меня обламывается сервис, причем через разные периоды времени. И я не могу понять, по какой причине и как с этим бороться. Причем на локалхосте и из примеров интерсистемс.
Soap+11^test тоже из примеров ИС? Причина тоже где-то рядом, а ваще мало информации... Как именно обламываеццо и т.д.....
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717231
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ceshka, попробую подробнее
Собственно, в области SAMPLES есть пример работы с SOAP
Пакет SOAP содержит определение класса сервиса SOAP.Demo. В частности, имеется метод AddInteger(Arg1,Arg2), который quit Arg1+Arg2

Пакет SOAP содержит определение класса клиента SOAP.DemoProxy, который умеет вызывать этот метод AddInteger из SOAP.Demo

Я сделал программку, которая создает экземпляр клиента
set z=##class(SOAP.DemoProxy).%New()

Затем в цикле вызываю метод AddInteger

for i=1:1 {
set x=z.AddInteger(i,1)
}

Оный работает и возвращает значения до поры-до времени, а потом возвращает ошибку
ОШИБКА #6059: Не удалось открыть TCP/IP сокет к серверу localhost:80

в последний раз i успела добежать до 80 с лишним тысяч
Строчка <COMMAND>Soap+11^test - это результат строчки
write $ZERROR

Не осознал еще причины ее возникновения, но все же смею предположить: не впрямую из-за Soap^test()
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717295
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.Kokov , колись. Показывай текст программтки test начиная от метки Soap...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717321
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.Kokov
Затем в цикле вызываю метод AddInteger
Код: plaintext
1.
2.
3.
for i= 1 : 1  {
set x=z.AddInteger(i, 1 )
}

с моей лично точки зрения, она (программа) отсюда не выйдет для начала, или так и должно быть? ее кто-то в z.AddInteger срубит?
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717634
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa Ivan.Kokov , колись. Показывай текст программтки test начиная от метки Soap...
----------
Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT
Ладно, раскололи. Теперь явка с повинной :)
Полный текст программы Soap^test вы можете увидеть вначале топика

ceshkaIvan.Kokov
Затем в цикле вызываю метод AddInteger
Код: plaintext
1.
2.
3.
for i= 1 : 1  {
set x=z.AddInteger(i, 1 )
}

с моей лично точки зрения, она (программа) отсюда не выйдет для начала, или так и должно быть? ее кто-то в z.AddInteger срубит?

Все дело в том, что я изначально был уверен, что метод завалится, поскольку применял аналог на реальном переборе из БД. Массив около миллиона записей, на каждую по три Soap-метода вызвать надо.
Такая вот тоска. :( Мало того, что медленно, дак еще и валится. Так что цикл я и не пытался ограничить.
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717657
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.Kokov, топик надо перименовать, метод работает стабильно, проблемма - в другом...
я чот плохо понимаю, как, если было <COMMAND>Soap+11^test, программа доходила до
Код: plaintext
1.
2.
3.
for i= 1 : 1  {
set x=z.AddInteger(i, 1 )
}

?
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717783
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то Soap+11 указывает на
Код: plaintext
1.
set x=z.AddInteger(i, 1 )
Стоило бы Error+1 изменить на:
Код: plaintext
write $zerror," i=",$g(i)
, а еще лучше на
Код: plaintext
d BACK^%ETN
и смотреть подробную диагностику ошибки в Портале.
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717811
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovВообще-то Soap+11 указывает на
Код: plaintext
1.
set x=z.AddInteger(i, 1 )
Стоило бы Error+1 изменить на:
Код: plaintext
write $zerror," i=",$g(i)
, а еще лучше на
Код: plaintext
d BACK^%ETN
и смотреть подробную диагностику ошибки в Портале.
сорри, обсчитался, тада ваще всё просто, чото в методе z.AddInteger(i,1)
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717930
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ceshka,

Я еще раз, коллеги:

ОШИБКА #6059: Не удалось открыть TCP/IP сокет к серверу localhost:80
Давайте обсудим эту ошибку. Почему она возникла и как с этим бороться?

Насчет <COMMAND> я уже все понял:
Там я в модуле запроса AddInteger вставил $ZT и в трапе - обработку,содержащую
write $system.OBJ.DisplayError(%sc), где %sc - статус возврата метода сервиса AddInteger.
Завершил обычным quit'ом - вот и получил <COMMAND> Определенно - мой косяк.

Но это - не главное!
ОШИБКА #6059: Не удалось открыть TCP/IP сокет к серверу localhost:80 - вот это меня волнует и тревожит, т.к. не вижу причин
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35717971
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.Kokov,
TCP/IP сессии параллельные или последовательные?
/*возможно туплю*/
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35718048
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что ты имеешь ввиду под параллельными и последовательными сессиями?
(тоже туплю)
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35718053
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в рамках одной сессии последовательно выполняются запросы
если обрывается соединение, то хочется создать новую сессию и продолжить с прерванного места
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35718079
ceshka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.Kokovв рамках одной сессии последовательно выполняются запросы
если обрывается соединение, то хочется создать новую сессию и продолжить с прерванного места
перегрузицца)))
попробуй запускать запрос в отдельный процесс (в целях отладки), и при этом фиксируй: вот он запущен, вот он отработал, можно пустить следующий, и посмотри все его параметры, в методе, в котором происходит ошибка тоже что-то происходит, может данные некорректно формируются на какой-то записи/строке
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35718134
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка происходит в методе %SOAP.WebClient.DoSOAPRequest()
Примерно здесь:

If (response.StatusCode'="200") && (response.StatusCode'="500") {
Quit $$$ERROR($$$SOAPUnexpectedStatus,response.StatusCode)
}
Завтра буду убеждаться, что здесь собака и порылась
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35721544
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем,
Голова бела от пепла :)
поаккуратнее написал $zt. Все медленно и верно крутится, хотя ошибка 6059 все же появляется периодически.
"Его пример другим наука... " (т.е. мой :))
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35721612
Фотография ceshka_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.Kokov, чот я не понел, ошибка есть, чо стало лучше?
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35721974
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan.KokovСобственно, задал вопрос в WRC, но м.б. удастся раньше понять, где собака порылась :)
А ответ из WRC получили?
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35722118
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто острота вопроса снята тем, что я теперь игнорирую эту ошибку и отправляю повторный запрос в случае ее возникновения.

Ответ из WRC получил, что будут искать причину возникновения ошибки 6059
Теперь я могу не спеша и с удовольствием и сам покопаться с этим вопросом.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Нестабильно работает SOAP метод
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]