powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Нестабильно работает SOAP метод
28 сообщений из 28, показаны все 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
Нестабильно работает SOAP метод
    #35722159
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот ответ из WRC:

I think the error is exactly what is says:
ERROR #6059: Unable to open TCP/IP socket to server localhost:80

I have tested for more than two hours and got similar errors, but sporadically - about 20 in this
period.

Not sure yet but it looks that webserver is not able to open new connection for incoming request.
The error comes from the OPEN command in %Net.HttpRequest.Open() method:
Open "|TCP|"_dev:(server:port:"SCWD"::8192:8192:/TCPNOXY):$zobjval(,/*Timeout*/26,0,3,26) Set
sucess=$T

I will investigate it later, it looks like somehow related to custom error trapping in AddInteger
client method because I don't get this error when testing non change DemoProxy class.

Continue tomorrow.
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35723647
logist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы это на какой системе запускали? Если Windows * Professional, то там стоит
ограничение на 10 tcp-соединений одновременных, может в этом проблема? Если
серверные дистрибутивы или unix, то там такой проблемы не должно быть. Поищите
как настраивается этот параметр, в интернете встречаются описания.

Второй возможный источник ошибок - CSP NSD, который они все пилят с третьей
версии каше, да никак не допилят.

=Сергей Шутов
ООО Димас, Хабаровск
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Нестабильно работает SOAP метод
    #35723713
Ivan.Kokov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Установил твик который меняет tcpip.sys и, соответственно, увеличивает доступное количество tcp соединений. Ошибка 6059 выскочила в первые 30 минут работы
...
Рейтинг: 0 / 0
28 сообщений из 28, показаны все 2 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Нестабильно работает SOAP метод
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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