3 Replies Latest reply on Apr 4, 2011 6:24 AM by asoldano

    CreateSequence was not recognized

    nbielza

      Hi,

       

      I built and deployed a WS endpoint using WS-RM on JBoss AS 6.0.0.Final.

       

       

      I'm currently receiving the following exception when a new sequence request is received:

       

      {code}15:37:56,290 WARN  [org.apache.cxf.phase.PhaseInterceptorChain] Interceptor for {http://sap.com/xi/AP/Purchasing/Global}purchaseorderprocessin3 has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Message part {http://docs.oasis-open.org/ws-rx/wsrm/200702}CreateSequence was not recognized.  (Does it exist in service WSDL?)

          at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:194) [:2.3.1]

          at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) [:2.3.1]

          at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113) [:2.3.1]

          at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97) [:2.3.1]

          at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461) [:2.3.1]

          at org.jboss.wsf.stack.cxf.ServletControllerExt.invoke(ServletControllerExt.java:172) [:3.4.1.GA]

          at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:57) [:3.4.1.GA]

          at org.jboss.wsf.stack.cxf.transport.ServletHelper.callRequestHandler(ServletHelper.java:156) [:3.4.1.GA]

          at org.jboss.wsf.stack.cxf.CXFServletExt.invoke(CXFServletExt.java:90) [:3.4.1.GA]

          at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179) [:2.3.1]

          at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103) [:2.3.1]

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [:1.0.0.Final]

          at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159) [:2.3.1]

          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]

          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]

          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]

          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]

          at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]

          at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]

          at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]

          at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]

          at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]

          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]

          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]

          at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]

          at org.apache.catalina.valves.RequestDumperValve.invoke(RequestDumperValve.java:151) [:6.0.0.Final]

          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]

          at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]

          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]

          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]

          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]

          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]

          at java.lang.Thread.run(Unknown Source) [:1.6.0_23]{code}

       

       

      The policy I'm using comes from the WS-RM tutorial:

       

          {code:xml}<wsp:Policy xmlns:wsp="http://www.w3.org/2006/07/ws-policy">

            <wswa:UsingAddressing xmlns:wswa="http://www.w3.org/2006/05/addressing/wsdl"/>

            <wsrmp:RMAssertion xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"/>

          </wsp:Policy>{code}

       

       

      Here's a sample CreateSequence request:

       

      {code:xml}<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">

        <soap-env:Header>

          <wsa:To soap-env:mustUnderstand="1" xmlns:wsa="http://www.w3.org/2005/08/addressing">https://sap-gateway.alligacom.net:21000/sap/bc/srt/scs/srmap/purchaseorderprocessin3</wsa:To>

          <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">

            <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>

          </wsa:From>

          <wsa:ReplyTo xmlns:wsa="http://www.w3.org/2005/08/addressing">

            <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>

          </wsa:ReplyTo>

          <wsa:FaultTo xmlns:wsa="http://www.w3.org/2005/08/addressing">

            <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>

          </wsa:FaultTo>

          <wsa:Action soap-env:mustUnderstand="1" xmlns:wsa="http://www.w3.org/2005/08/addressing">http://docs.oasis-open.org/ws-rx/wsrm/200702/CreateSequence</wsa:Action>

          <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">urn:uuid:00000000-0001-1ed0-8fd3-ae23ff1dd65f</wsa:MessageID>

        </soap-env:Header>

        <soap-env:Body>

          <wsrm:CreateSequence xmlns:wsrm="http://docs.oasis-open.org/ws-rx/wsrm/200702">

            <wsrm:AcksTo>

              <wsa:Address xmlns:wsa="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>

            </wsrm:AcksTo>

          </wsrm:CreateSequence>

        </soap-env:Body>

      </soap-env:Envelope>{code}

       

       

      Any suggestion ?

       

      Thanks,

      Nicolas.

        • 1. Re: CreateSequence was not recognized
          nbielza

          I should add that I installed JBossWS-CXF 3.4.1.GA with Spring on JBoss AS 6.0.0.Final.

           

          Here's what the console shows when I deploy the service:

           

           

          {code}

          10:35:53,905 INFO  [org.jboss.wsf.framework.management.DefaultEndpointRegistry] register: jboss.ws:context=sap/bc/srt/scs/srmap,endpoint=PurchaseOrderProcessingOrderingIn

          10:35:53,905 INFO  [org.jboss.wsf.stack.cxf.metadata.MetadataBuilder] Add Service

          id=PurchaseOrderProcessingOrderingIn

          address=http://Alliga-141:8080/sap/bc/srt/scs/srmap/purchaseorderprocessin3

          implementor=com.alligacom.sap.bydesign.PurchaseOrderProcessingOrderingInImpl

          invoker=org.jboss.wsf.stack.cxf.InvokerJSE

          serviceName={http://sap.com/xi/AP/Purchasing/Global}purchaseorderprocessin3

          portName={http://sap.com/xi/AP/Purchasing/Global}binding

          wsdlLocation=null

          mtomEnabled=false

          10:35:53,905 INFO  [org.jboss.wsf.stack.cxf.deployment.aspect.DescriptorDeploymentAspect] JBossWS-CXF configuration generated: file:/E:/ChuckNorris/JBoss/jboss-6.0.0.Final/server/default/tmp/jbossws/jbossws-cxf6936996544835803944.xml

          10:35:53,905 INFO  [org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusApplicationContext] Refreshing org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusApplicationContext@15d787e: startup date [Thu Mar 17 10:35:53 EDT 2011]; root of context hierarchy

          10:35:53,905 INFO  [org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusApplicationContext] Refreshing org.jboss.wsf.stack.cxf.client.configuration.JBossWSBusApplicationContext@15d787e: startup date [Thu Mar 17 10:35:53 EDT 2011]; root of context hierarchy

          10:35:53,920 INFO  [org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader] Loading XML bean definitions from class path resource [META-INF/cxf/jbossws-cxf.xml]

          10:35:53,920 INFO  [org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader] Loading XML bean definitions from URL [vfs:/E:/ChuckNorris/JBoss/jboss-6.0.0.Final/server/default/deployers/jbossws.deployer/jbossws-cxf-client.jar/META-INF/cxf/cxf-extension-jbossws.xml]

          10:35:53,936 INFO  [org.apache.cxf.bus.spring.ControlledValidationXmlBeanDefinitionReader] Loading XML bean definitions from class path resource [META-INF/cxf/cxf-extension-httpserver.xml]

          10:35:54,014 INFO  [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] Creating Service {http://sap.com/xi/AP/Purchasing/Global}purchaseorderprocessin3 from WSDL: WEB-INF/wsdl/poconfinbound.wsdl

          10:35:54,061 WARN  [org.jboss.wsf.stack.cxf.resolver.JBossWSResourceResolver] Cannot resolve resource: org.apache.cxf.binding.AbstractBindingFactory/bus

          10:35:54,061 INFO  [org.jboss.wsf.stack.cxf.transport.AddressRewritingEndpointInfo] Setting new service endpoint address in wsdl: https://sap-gateway.alligacom.net:21000/sap/bc/srt/scs/srmap/purchaseorderprocessin3

          10:35:54,279 INFO  [org.jboss.wsf.stack.cxf.transport.AddressRewritingEndpointInfo] Setting new service endpoint address in wsdl: https://Alliga-141:8181/sap/bc/srt/scs/srmap/purchaseorderprocessin3

          10:35:54,295 INFO  [org.apache.cxf.endpoint.ServerImpl] Setting the server's publish address to be http://Alliga-141:8080/sap/bc/srt/scs/srmap/purchaseorderprocessin3

          10:35:54,342 INFO  [org.jboss.wsf.stack.cxf.deployment.WSDLFilePublisher] WSDL published to: file:/E:/ChuckNorris/JBoss/jboss-6.0.0.Final/server/default/data/wsdl/ByDesign.war/poconfinbound.wsdl

          10:35:54,388 INFO  [org.jboss.web.tomcat.service.deployers.TomcatDeployment] deploy, ctxPath=/sap/bc/srt/scs/srmap

          {code}

           

          Could the warning mean that the CXF bus is not properly installed ?

          • 2. CreateSequence was not recognized
            nbielza

            I did some more testing: used the generated web service client to test the service from CXF and it does work. (The real client is SAP NetWeaver)

             

            The warning about the CXF bus doesn't seem to be a concern.

             

            What seems to be the main difference between the two clients is that the CXF client sends a http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence action, while SAP uses http://docs.oasis-open.org/ws-rx/wsrm/200702/CreateSequence.

            • 3. CreateSequence was not recognized
              asoldano

              Thanks for having followed up. The difference in the namespaces explains the problem, basically cxf implements a previous version of rm.