Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WSIT Metro version 2.3 WSRM1124 error

We have a java application running on a JVM (IBM jdk and not Oracle's) inside of a Tomcat v7 server with the following properties

JVM info

  • Java Version: 1.6.0
  • Java Vendor: IBM Corporation
  • Java Specification Version: 1.6
  • Java Specification Vendor: Sun Microsystems Inc.
  • Java Specification Name: Java Platform API Specification
  • JVM Version: 2.4
  • JVM Vendor: IBM Corporation
  • JVM Name: IBM J9 VM
  • JVM Specification Version: 1.0
  • JVM Specification Vendor: Sun Microsystems Inc.
  • JVM Specification Name: Java Virtual Machine Specification
  • JVM Management Specification Version: 1.0
  • Java Compiler: j9jit24
  • Java Class Format Version: 50.0

Relevant System properties

  • -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

Using Metro (with WSIT) version 2.3 to call .Net SOAP services that require WS-Security and Ws-Reliability spec's and getting this error

info about the service's wsdl

The wsdl defines the RM Assertion.

I'm wondering if this sequence number could possibly be an old message that the server already thinks is done, but the client still thinks it needs to be resubmitted and acknowledged. At this point it hangs on this problem trying to complete the message and no other messages can be completed

Exception trace

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

Metro logs

Jul-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 fiber-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 ]) Jul-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 fiber-18 com.sun.xml.ws.handler.ClientLogicalHandlerTube@1dbb1dbb returned with 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: No sequence registered with id [ urn:uuid:7b7df40c-0d0c-49ee-aabd-cd37ec8ce79d ]]

My Questions

  • What is the root cause of this, what is Metro trying to do?
  • I googled this issue and all I got is that I need to set some system property which I already did (see above). Has anyone seen this to guide me through a workaround? In tracing the InVmSequenceManager it seems that the UUID is not in memory map so the logic is throwing the exception above. Maybe one solution would be to configure my own Sequence Manager however I am not sure how to do that.

Thanks in advance,

like image 575
cheframzi Avatar asked Oct 31 '22 20:10

cheframzi


1 Answers

I have no experience with any of this, but I'm going to go out on a limb and attempt an answer that may lead you in the wrong direction (so caveat emptor). My hope is that if I am way off base at least I will encourage someone else to come in and help you with your problem. (Sometimes the best way to get the right answer on the internet is to post the wrong answer, giving a more informed nerd something to pounce on.) That said…

I took part of the error message you received and went to Google:

"No sequence registered with id" metro

The 2nd hit I received was a link to a very old issue in the bug tracker for Glassfish. The issue didn't track an actual bug, so the content of the issue is not very informative. However, I did notice that the issue was closed as "invalid", and for a particular reason.

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

So what does that suggest to me? It suggests to me that this Byzantine secure SOAP stuff can fail in a spectacularly uninformative manner when you are lacking a @Policy annotation that points to a valid WS-Policy XML file containing the aforementioned RMAssertion.

So…my question to you is: do you have the RMAssertion set up on this service?

Edit: It turns out they do have RMAssertion defined, but I'm going to leave this "answer" here for posterity.

like image 127
pohl Avatar answered Nov 12 '22 20:11

pohl