Я использую XFire 1.2.6 на tomcat в качестве реализации веб-сервисов. Сервис создается с использованием аннотации XFireProxyFactory и @EnableMTOM. Клиент также XFire и использует MTOM.
Все работало нормально в Tomcat 5.5.20, но почему-то не работает в tomcat 6.0.20 . Я получил следующую причину ошибки на клиенте при попытке получить доступ к веб-службе с клиента:
Caused by: org.codehaus.xfire.XFireRuntimeException: Server returned error code = 400 for URI : http://hostname_stripped/webservices-8-1/services/LoginService. Check server logs for details
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:130)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
... 22 more
Проблема в том, что в логах сервера ничего нет.
Когда я отключаю MTOB на клиенте, он работает, пока я не запрашиваю метод, который на самом деле требует mtom.
Кто-нибудь может сказать, что изменение в Tomcat 6 относительно tomcat 5.5 может вызвать проблемы с mtom?
Я знаю, что не предоставил много информации, но у меня нет больше, и у меня заканчиваются идеи, где искать. Оцениваются даже дикие квесты.
РЕДАКТИРОВАТЬ: журналы веб-приложения показывают, что веб-служба развернута нормально. Я могу вызывать веб-сервисы, когда у клиента не включен mtom. Это только в случае клиента mtom eanbled, что я получаю эту ошибку и не регистрируется на сервере.