WSIT Metro版本2.3 WSRM1124错误



我们有一个java应用程序运行在Tomcat v7服务器内部的JVM (IBM jdk而不是Oracle的)上,具有以下属性

JVM信息

  • Java版本:1.6.0
  • Java供应商:IBM Corporation
  • Java规范版本:1.6
  • Java规范供应商:Sun Microsystems Inc.
  • Java规范名称:Java平台API规范
  • JVM版本:2.4
  • JVM供应商:IBM Corporation
  • JVM名称:IBM J9 VM
  • JVM规范版本:1.0
  • JVM规范供应商:Sun Microsystems Inc.
  • JVM规范名称:Java虚拟机规范
  • JVM管理规范版本:1.0
  • Java编译器:j9jit24
  • Java类格式版本:50.0

相关系统属性

  • -Dsun.nio.ch.disableSystemWideOverlappingFileLockCheck = true
  • -Doracle.net.ssl_version = 3
  • -Djavax.xml.stream.XMLInputFactory = com.ibm.xml.xlxp.api.stax.XMLInputFactoryImpl
  • -Djavax.xml.stream.XMLOutputFactory = com.ibm.xml.xlxp.api.stax.XMLOutputFactoryImpl
  • -Djavax.xml.stream.XMLEventFactory = com.ibm.xml.xlxp.api.stax.XMLEventFactoryImpl
  • -Djava.awt.headless = true
  • -Dfile.encoding utf - 8 =
  • -Dcom.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace = false
  • -Dcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump = true

使用Metro(带有WSIT) 2.3版本调用需要WS-Security和Ws-Reliability规范的。net SOAP服务,得到这个错误

关于服务wsdl的信息

wsdl定义RM断言。

我想知道这个序列号是否可能是一个服务器已经认为已经完成的旧消息,但客户端仍然认为它需要重新提交和确认。此时,它挂在这个问题上,试图完成消息,没有其他消息可以完成

异常跟踪

原因:com.sun.xml.ws.rx.rm.runtime.sequence.UnknownSequenceException: WSRM1124: No sequence registered with id [urn:uuid:7b7df40c-0d0c-49ee-aabd-cd37ec8ce79d]com.sun.xml.ws.rx.rm.runtime.sequence.invm.InVmSequenceManager.getSequence (InVmSequenceManager.java: 307)com.sun.xml.ws.rx.rm.runtime.sequence.invm.InVmSequenceManager.getOutboundSequence (InVmSequenceManager.java: 339)com.sun.xml.ws.rx.rm.runtime.SourceMessageHandler.registerMessage (SourceMessageHandler.java: 87)com.sun.xml.ws.rx.rm.runtime.ClientTube.processRequest (ClientTube.java: 191)com.sun.xml.ws.api.pipe.Fiber.__doRun (Fiber.java: 1136)com.sun.xml.ws.api.pipe.Fiber._doRun (Fiber.java: 1050)com.sun.xml.ws.api.pipe.Fiber.doRun (Fiber.java: 1019)com.sun.xml.ws.api.pipe.Fiber.runSync (Fiber.java: 877)com.sun.xml.ws.client.Stub.process (Stub.java: 464)com.sun.xml.ws.client.sei.SEIStub.doProcess (SEIStub.java: 174)com.sun.xml.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler.java: 108)com.sun.xml.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler.java: 91)com.sun.xml.ws.client.sei.SEIStub.invoke (SEIStub.java: 154)在com.sun.proxy。Proxy85美元。(未知源)

地铁日志

julp -19-2014 15:22:26.581 (ajp-bio-8009-exec-4:28) FINER [com.sun.xml.ws.api.pipe.]fiber__dorun] engine-Metro/2.3 (tags/2.3-7528;2013-04-29T19:34:10+0000) JAXWS- ri/2.2.8 JAXWS/2.2 svn-revision#unknown: Stub for SomeURL光纤-18 com.sun.xml.ws.handler.ClientLogicalHandlerTube@1dbb1dbb.processException(com.sun.xml.ws.rx.rm.runtime.sequence.UnknownSequenceException: WSRM1124: No sequence registered with id [urn:uuid:7b7df40c-0d0c-49ee-aabd-cd37ec8ce79d])[com.sun.xml.ws.api.pipe.]fiber__dorun] engine-Metro/2.3 (tags/2.3-7528;2013-04-29T19:34:10+0000) JAXWS- ri/2.2.8 JAXWS/2.2 svn-revision#unknown: Stub for SomeURl . com.sun.xml.ws.handler。ClientLogicalHandlerTube@1dbb1dbb与com.sun.xml.ws.api.pipe一起返回。NextAction@78467846 [kind=THROW,next=null,packet=null,throwable=com.sun.xml.ws.rx.rm.runtime.sequence.UnknownSequenceException: WSRM1124:没有序列注册与id [urn:uuid:7b7df40c-0d0c-49e -aabd-cd37ec8ce79d]]

我的问题

  • 这个问题的根本原因是什么,Metro试图做什么?
  • 我谷歌这个问题,所有我得到的是,我需要设置一些系统属性,我已经做了(见上文)。有人看到这个来指导我解决这个问题吗?跟踪InVmSequenceManager似乎UUID不在内存映射中,所以逻辑抛出了上面的异常。也许一个解决方案是配置我自己的序列管理器,但我不确定如何做到这一点。

提前致谢

我没有任何这方面的经验,但我要冒险尝试一个可能会把你引向错误方向的答案(所以买者自负)。我的希望是,如果我错了,至少我会鼓励其他人进来帮助你解决问题。(有时候,在互联网上得到正确答案的最好方法是发布错误的答案,给更见多识广的书呆子一个猛攻的机会。)也就是说…

我接受了你收到的错误信息的一部分,并去谷歌:

"No sequence registered with id" metro

我收到的第二个点击是一个链接,指向Glassfish的漏洞跟踪器中一个非常老的问题。该问题没有跟踪实际的错误,因此问题的内容不是很翔实。但是,我确实注意到,由于特殊原因,该问题被关闭为"无效"。

Invalid Issue. Client wsdl did not have RMAssertion on it.

这对我意味着什么?在我看来,当您缺少指向包含上述rmastion的有效WS-Policy XML文件的@Policy注释时,这种拜占庭式的安全SOAP内容可能会以非常缺乏信息的方式失败。

我的问题是:你在这个服务上设置了rmastion吗?

编辑:事实证明他们确实定义了RMAssertion,但我打算把这个"答案"留在这里,留给子孙后代。

相关内容

  • 没有找到相关文章

最新更新