views:

230

answers:

1

I'm using XFire 1.2.6 on tomcat as web services implementation. Service is created using XFireProxyFactory and @EnableMTOM annotation. Client is also XFire and is using MTOM.

It all worked fine in Tomcat 5.5.20, but fails in tomcat 6.0.20 for some reason. I got the following error cause on client when trying to access web service from client:

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

The problem is that there is nothing in server logs.

When I disable MTOB on client it works untill I request a method that actually needs mtom.

Can anyone thing of what change in Tomcat 6 relative to tomcat 5.5 could possibly cause mtom problems? I know I didn't provide much info, but I don't have more, and am running out of ideas where to look. Even wild quesses are appreciated.

EDIT: Webapp logs shows that web service is deployed ok. I can call web services when client doesn't have mtom enabled. It is just in case of mtom eanbled client that I get this error and no logs on server.

+1  A: 

A HTTP error 400 from Tomcat often means that the webapp wasn't properly started up/initialized. You should see any evidence of failure in the appserver's startup/deploy logs.

BalusC