Вызовы веб-службы Axis иногда не выполняются, access.log показывает контент! - PullRequest
1 голос
/ 16 апреля 2010

наше приложение является клиентом веб-сервиса (ось 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 службы изменился из-за «миграции сервера».

Кто-нибудь еще испытывал такое явление? Кто-нибудь понял, что не так и как исправить?

Спасибо,

1 Ответ

0 голосов
/ 15 июня 2010

У нас не было такого точного поведения, но мы столкнулись с несколькими дефектами Оси 1, которые заставили нас сильно пострадать. Одним из неисправных классов был HttpSender Axis, который оказался не поточно-ориентированным, а также имел ряд ошибок .

Нерегулярность ошибок в журнале доступа может означать, что это связано с безопасностью потоков. В любом случае, если у вас есть шанс избавиться от Оси 1, сделайте это немедленно. Ему почти 5 лет, и он на самом деле мертвый продукт с множеством дефектов.

...