【问题标题】:com.sun.xml.internal.ws.protocol.soap.VersionMismatchException thrown when using JAX-WS to request a ws使用 JAX-WS 请求 ws 时抛出 com.sun.xml.internal.ws.protocol.soap.VersionMismatchException
【发布时间】:2013-06-19 09:46:53
【问题描述】:

我正在尝试使用 jax-ws 构建 Web 服务的客户端,但这个异常阻止了我:

com.sun.xml.internal.ws.protocol.soap.VersionMismatchException: Couldn't create SOAP message. Expecting Envelope in namespace http://schemas.xmlsoap.org/soap/envelope/, but got http://www.w3.org/2003/05/soap-envelope 
    at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:167)
    at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:292)
    at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:118)
    at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:278)
    at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:180)
    at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
    at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)
    at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
    at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
    at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
    at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
    at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
    at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    at com.sun.proxy.$Proxy26.isAlive(Unknown Source)

这很奇怪,因为我的类型是由 myEclipse 生成的,并且没有任何修改。当我使用相同的 wsdl 在 SOAPUI 中运行此 Web 服务时,它起作用了!但不是在java(jax-ws)中。我认为 wsdl 没问题,因为 SOAPUI 生成了具有正确命名空间的信封,但为什么 jax-ws 坚持使用错误的命名空间?

我使用 jdk6 及其内部的 jax-ws 库。

我已经搜索了几天,但没有找到。有人可以帮帮我吗?

【问题讨论】:

  • 我已经用处理程序打印了soap请求,这正是它应该是的!!!
  • 我已经用处理程序打印了soap请求,这正是它应该是的!!! schemas.xmlsoap.org/soap/envelope">

标签: web-services soap wsdl jax-ws soap-client


【解决方案1】:

我找到了,是服务器代理向我发送了另一个版本的soap响应...

【讨论】:

  • 你是怎么解决的?我也有同样的问题。有人可以帮忙吗?
猜你喜欢
  • 2011-11-27
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
相关资源
最近更新 更多