Tomcat 6 XFire MTOM Web 服务问题
我在 tomcat 上使用 XFire 1.2.6 作为 Web 服务实现。服务是使用 XFireProxyFactory 和 @EnableMTOM 注释创建的。客户端也是 XFire 并且正在使用 MTOM。
在 Tomcat 5.5.20 中一切正常,但由于某种原因在 tomcat 6.0.20 中失败。当尝试从客户端访问 Web 服务时,我在客户端上收到以下错误原因:
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 问题? 我知道我没有提供太多信息,但我没有更多信息,而且我已经不知道去哪里寻找了。即使是疯狂的问题也会受到赞赏。
编辑:Web 应用程序日志显示 Web 服务部署正常。当客户端没有启用 mtom 时,我可以调用 Web 服务。只是在 mtom eabled 客户端的情况下,我收到此错误并且服务器上没有日志。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
来自 Tomcat 的 HTTP 错误 400 通常意味着 Web 应用程序未正确启动/初始化。您应该在应用程序服务器的启动/部署日志中看到任何失败的证据。
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.