Добрый день.
Может быть ктонибудь случайно знаком с Axis.
Использую оный в качестве сервера для сервисов, а клиента для сервиса написал с помощью обьектной модели AXIOM.
System.out.println("Payload for service:" + method); // method - сформированный OMElement SOAP-запроса
Options options = new Options();
options.setTo(ApplicationProperties.targetEPRFinance);
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
OMElement result = fac.createOMElement(new QName("EmptyResult"));
try {
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
result = sender.sendReceive(method);
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Все чудесно работает в связке с сервисом пока я не начинаю делать легкое нагрузочное тестирование хотя бы в 3 одновременных потока.
и вот тут гдето внутри sender.sendReceive чтото переклинивает и разные потоки начинают время от времени писать друг в друга.
То есть я смотрю http-analyzerом что отправляется серверу и вижу:
1 поток к примеру все гуд: <?xml version="1.0" ....
2 поток : <?x2mlxml vervsierornn="1.0" e"=1. ...
3 поток пустой.
А в большинстве случаев какой-то встроенный парсер валидности в sendReceive вообще не выпускает наружу бред который у него получился.
Подскажите если ктонибудь вдруг...
С уважением,
Даниил Чипенко.