Uploaded image for project: 'RiftSaw'
  1. RiftSaw
  2. RIFTSAW-360

Problems with soapAction in BPEL process

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.3.0.Final
    • 2.1.4.Final
    • ODE
    • None
    • Hide

      Deploy the PolicyQuoteProces-PolicyQuoteProcessService.jar, DrivingRecordServiceEAR.ear, and PolicyQuoteMonitoringProxies.esb (you don't need the other services since the DrivingRecordService is the first service invoked vie the DrivingRecordProxy. Also deploy the policyquotequeue-servoce.xml first.

      Use SoapUI and create two projects. The first project uses the PolicyQuoteProcess-DrivignRecordService.wsdl. You will need to change it to use the

      <wsdl:port binding="dmv:DrivingRecordServiceBinding" name="DrivingRecordProxyPort">
      <soap:address location="http://127.0.0.1:8080/PolicyQuoteMonitoringProxies/http/DrivingRecordService"/>
      </wsdl:port>

      port. This consumes the proxy service. This will run fine (as SoapProxy sets the soapAction correctly.

      Next create a second SoapUI project to consume the PolicyQuoteProcess-PolicyQuoteProcessService.wsdl. Send a receivePolicyQuote message. In this case you should see an error related to SOAPProxy cannot determine the soapaction.

      Show
      Deploy the PolicyQuoteProces-PolicyQuoteProcessService.jar, DrivingRecordServiceEAR.ear, and PolicyQuoteMonitoringProxies.esb (you don't need the other services since the DrivingRecordService is the first service invoked vie the DrivingRecordProxy. Also deploy the policyquotequeue-servoce.xml first. Use SoapUI and create two projects. The first project uses the PolicyQuoteProcess-DrivignRecordService.wsdl. You will need to change it to use the <wsdl:port binding="dmv:DrivingRecordServiceBinding" name="DrivingRecordProxyPort"> <soap:address location="http://127.0.0.1:8080/PolicyQuoteMonitoringProxies/http/DrivingRecordService"/> </wsdl:port> port. This consumes the proxy service. This will run fine (as SoapProxy sets the soapAction correctly. Next create a second SoapUI project to consume the PolicyQuoteProcess-PolicyQuoteProcessService.wsdl. Send a receivePolicyQuote message. In this case you should see an error related to SOAPProxy cannot determine the soapaction.

    Description

      I have been running a test consuming a ESB Service that uses SOAPProxy from a BPEL process. It appears that the soapAction is not being set correctly, even though it is in the WSDL, Worse, it appears that it is being
      set to "", which causes SOAPProxy to barf.

      When I turn on JBossWS message tracing. I see:

      ])}
      2011-03-24 14:08:33,543 TRACE
      [org.jboss.classloader.spi.base.BaseClassLoader] (ODEServer-4)
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      unlock Thread[ODEServer-4,5,jboss] holding=1
      2011-03-24 14:08:33,543 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      unregisterLoaderThread,
      classloader=BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      thread=Thread[ODEServer-4,5,jboss] rescheduleTasks=true
      2011-03-24 14:08:33,544 DEBUG
      [org.jboss.remoting.transport.http.HTTPClientInvoker] (ODEServer-4)
      org.jboss.remoting.transport.http.HTTPClientInvoker@2daa2e setting
      unmarshalNullStream to true
      2011-03-24 14:08:33,544 DEBUG
      [org.jboss.remoting.MicroRemoteClientInvoker] (ODEServer-4)
      org.jboss.remoting.transport.http.HTTPClientInvoker@2daa2e connecting
      2011-03-24 14:08:33,544 DEBUG
      [org.jboss.remoting.MicroRemoteClientInvoker] (ODEServer-4)
      org.jboss.remoting.transport.http.HTTPClientInvoker@2daa2e connected
      2011-03-24 14:08:33,544 DEBUG [org.jboss.remoting.Client]
      (ODEServer-4) Client[3264658:5c4o05-qx48po-glo081tb-1-glo47jrm-uk]
      connected to InvokerLocator
      http://127.0.0.1:8080/PolicyQuoteMonitoringProxies/http/DrivingRecordService
      2011-03-24 14:08:33,545 DEBUG [org.jboss.remoting.Client]
      (ODEServer-4) Client[3264658:5c4o05-qx48po-glo081tb-1-glo47jrm-uk] is
      connected
      2011-03-24 14:08:33,545 DEBUG
      [org.jboss.ws.core.client.HTTPRemotingConnection] (ODEServer-4)
      Remoting metadata: {NoThrowOnError=true, HEADER={SOAPAction="",
      Content-Type=text/xml; charset=UTF-8}}
      2011-03-24 14:08:33,545 TRACE [org.jboss.ws.core.CommonMessageContext]
      (ODEServer-4) get(org.jboss.ws.DOMContentCanonicalNormalization): null
      2011-03-24 14:08:33,545 TRACE
      [org.jboss.ws.core.soap.SOAPContentElement] (ODEServer-4)
      getChildNodes
      2011-03-24 14:08:33,545 TRACE
      [org.jboss.ws.core.soap.SOAPContentElement] (ODEServer-4)
      getChildNodes
      2011-03-24 14:08:33,545 TRACE [org.jboss.ws.core.MessageTrace]
      (ODEServer-4) Outgoing Request Message
      <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
      <env:Header/>
      <env:Body>
      <drivingRecordRequest xmlns='http://dmv.com/drivingRecord'>
      <drv:name xmlns:drv='http://dmv.com/drivingRecord'>Bill
      Smith</drv:name>
      <drv:ssn xmlns:drv='http://dmv.com/drivingRecord'>712345678</drv:ssn>
      <drv:dlNumber
      xmlns:drv='http://dmv.com/drivingRecord'>987654321</drv:dlNumber>
      <drv:age xmlns:drv='http://dmv.com/drivingRecord'>30</drv:age>
      </drivingRecordRequest>
      </env:Body>
      </env:Envelope>
      2011-03-24 14:08:33,545 TRACE
      [org.jboss.remoting.MicroRemoteClientInvoker] (ODEServer-4)
      org.jboss.remoting.transport.http.HTTPClientInvoker@2daa2e(1) invoking
      InvocationRequest[1ffbc5b, JBOSSWS,
      OnewayInvocation[org.jboss.ws.core.soap.SOAPMessageImpl@a71c36]]
      2011-03-24 14:08:33,556 TRACE
      [org.jboss.remoting.transport.bisocket.BisocketServerInvoker]
      (Timer-2) checking connections
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.base.BaseClassLoader] (ODEServer-4)
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      loadClass java.net.HttpURLConnection resolve=false
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.base.BaseClassLoader] (ODEServer-4)
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      aquireLockFairly Thread[ODEServer-4,5,jboss]
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.base.BaseClassLoader] (ODEServer-4)
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      aquiredLock Thread[ODEServer-4,5,jboss] holding=1
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      registerLoaderThread,
      classloader=BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      thread=Thread[ODEServer-4,5,jboss] previousThread=null
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.base.BaseClassLoader] (ODEServer-4)
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      load from domain java.net.HttpURLConnection
      domain=ClassLoaderDomain@323274

      {DefaultDomain}
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.base.BaseClassLoaderDomain] (ODEServer-4)
      ClassLoaderDomain@323274{DefaultDomain}

      findLoader
      java/net/HttpURLConnection.class
      classLoader=BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      allExports=false findInParent=true
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.ClassLoaderDomain] (ODEServer-4)
      ClassLoaderDomain@323274

      {DefaultDomain}
      java/net/HttpURLConnection.class matches parent
      beforeFilter=<EVERYTHING>
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.ClassLoaderDomain] (ODEServer-4)
      ClassLoaderDomain@323274{DefaultDomain}

      load from parent
      java/net/HttpURLConnection.class
      parent=org.jboss.bootstrap.NoAnnotationURLClassLoader@1507fb2
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.plugins.loader.ClassLoaderToLoaderAdapter]
      (ODEServer-4) Resource java/net/HttpURLConnection.class found in
      org.jboss.bootstrap.NoAnnotationURLClassLoader@1507fb2
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      ScheduleTask
      task=ClassLoadingTask@adbf36{className=java.net.HttpURLConnection
      requestingThread=Thread[ODEServer-4,5,jboss] requestingClassLoader:
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      threadTaskCount: 0 state: null}
      loader=org.jboss.bootstrap.NoAnnotationURLClassLoader@1507fb2
      reschedule=false
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      scheduleTask(1), created subtask:

      {thread=Thread[ODEServer-4,5,jboss] loader=org.jboss.bootstrap.NoAnnotationURLClassLoader@1507fb2 requestingThread=Thread[ODEServer-4,5,jboss] releaseInNextTask=false}
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4) Next
      task thread=Thread[ODEServer-4,5,jboss]
      task=ClassLoadingTask@adbf36{className=java.net.HttpURLConnection
      requestingThread=Thread[ODEServer-4,5,jboss] requestingClassLoader:
      BaseClassLoader@b600af{vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}
      threadTaskCount: 1 state: null}
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      Continue nextTask(1),
      task=ClassLoadingTask@adbf36{className=java.net.HttpURLConnection
      requestingThread=Thread[ODEServer-4,5,jboss] requestingClassLoader:
      BaseClassLoader@b600af{vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}
      threadTaskCount: 1 state: null}
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      Begin nextTask(0),
      loadTask=ClassLoadingTask@adbf36{className=java.net.HttpURLConnection
      requestingThread=Thread[ODEServer-4,5,jboss] requestingClassLoader:
      BaseClassLoader@b600af{vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}
      threadTaskCount: 1 state: null}
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      Running threadTask={thread=Thread[ODEServer-4,5,jboss]loader=org.jboss.bootstrap.NoAnnotationURLClassLoader@1507fb2requestingThread=Thread[ODEServer-4,5,jboss] releaseInNextTask=false}

      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoadingTask] (ODEServer-4)
      setLoadedClass, theClass=class java.net.HttpURLConnection
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      Notifying task of thread completion,
      loadTask:ClassLoadingTask@adbf36{className=java.net.HttpURLConnection
      requestingThread=Thread[ODEServer-4,5,jboss] requestingClassLoader:
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      loadedClass=class java.net.HttpURLConnection

      {cl=null codeSource=null}
      threadTaskCount: 0 state: null}
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4) End
      nextTask(0),
      loadTask=ClassLoadingTask@adbf36{className=java.net.HttpURLConnection
      requestingThread=Thread[ODEServer-4,5,jboss] requestingClassLoader:
      BaseClassLoader@b600af{vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}
      loadedClass=class java.net.HttpURLConnection{cl=null codeSource=null}

      threadTaskCount: 0 state: FINISHED}
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.base.BaseClassLoader] (ODEServer-4)
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      got class from domain class java.net.HttpURLConnection

      {cl=null codeSource=null}

      2011-03-24 14:08:33,569 TRACE
      [org.jboss.classloader.spi.base.BaseClassLoader] (ODEServer-4)
      BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      unlock Thread[ODEServer-4,5,jboss] holding=1
      2011-03-24 14:08:33,569 TRACE
      [org.jboss.detailed.classloader.ClassLoaderManager] (ODEServer-4)
      unregisterLoaderThread,
      classloader=BaseClassLoader@b600af

      {vfsfile:/Users/jdelong/SOAWorkshop/software/jboss-soa-p-5/jboss-as/server/default/conf/jboss-service.xml}

      thread=Thread[ODEServer-4,5,jboss] rescheduleTasks=true
      2011-03-24 14:08:33,570 DEBUG
      [org.jboss.remoting.transport.http.HTTPClientInvoker] (ODEServer-4)
      Setting request header with SOAPAction : ""
      2011-03-24 14:08:33,570 DEBUG

      In particular the "" is problematic. I set the soapAction in an ESB
      message property in a custom action prior to the SOAPProxy action, but
      it has no effect since the soapAction in the incoming request is "".

      I will attach Eclipse projects that demonstrate the problem.

      Jeff

      Attachments

        Activity

          People

            gary@brownuk.com Gary Brown
            jeffdelong Jeff DeLong (Inactive)
            Archiver:
            rhn-support-adandapa Aitik Dandapat

            Dates

              Created:
              Updated:
              Resolved:
              Archived:

              PagerDuty