наше приложение является клиентом веб-сервиса (ось 1) для стороннего веб-сервиса (также ось 1). Мы используем его уже несколько лет.
Через несколько недель мы (как клиент) иногда получаем HTTP-статус 400 (неверный запрос) или время ожидания чтения при вызове веб-службы.
Странно, но access.log сервиса показывает часть запроса или ответа вместо URL. Это выглядит так (выглядит как конец строки запроса)
x.x.x.x -> y.y.y.y:8080 - - [timestamp] "POST /webservice HTTP/1.0" 200 16127 0
x.x.x.x -> y.y.y.y:8080 - - [timestamp] "POST /webservice HTTP/1.0" 200 22511 1
x.x.x.x -> y.y.y.y:8080 - - [timestamp] "il=\"true\"/><nsl:text xsi:type=\"xsd:string\" xsi:nil=\"true\"/></SOAPSomeOperation></soapenv:Body></soapenv:Envelope> Axis/1.4" 400 299 0
или (какая-то строка из того, что выглядит как запрос)
x.x.x.x -> y.y.y.y:8080 - - [timestamp] ":string\">some text</sometag><othertag>moretext" 400 299 0
или в некоторых других случаях это выглядит как два скомбинированных запроса (... означает пропущенную строку xml):
x.x.x.x -> y.y.y.y:8080 - - [timestamp] "...</someop></soapenv:Body></soapenv:Envelope>:xsd=\"http://www.w3.org/2001/XMLSchema\"...</soapenv:Body></soapenv:Envelope>" 400 299 0
Журнал приложения не дает никаких подсказок. Частота таких звонков составляет 1% от всех звонков на эту услугу. Единственный дискриминатор, о котором я знаю, это то, что это происходит, поскольку операции сообщают нам, что URL службы изменился из-за «миграции сервера».
Кто-нибудь еще испытывал такое явление? Кто-нибудь понял, что не так и как исправить?
Спасибо,