14 Replies Latest reply: Jun 11, 2012 8:01 AM by RobertMetcalf RSS

    AIAReadJMSNotificationProcess doesn’t fire

    RobertMetcalf
      Hi,

      I am struggling to get the AIAErrorHandling process working in our environment.

      I have created a test composite that will run the AIAAsyncErrorHandeling service and I can make it send out email notifications.
      The problem is nothing appears in the BPM worklist app.

      In order to confirm whether or not the errors were reaching the Topic I created my own composite that subscribes to the AIAErrorTopic. When I create an error I can see that my composite that I created is running without a problem.

      I have then had a look at the AIAReadJMSNotificationProcess. No instances of this composite fire, instead I get Error Message ORABPEL-11108 under Recent Faults and Reject Messages.

      I have looked the source code for this composite and I have found that it does exactly the same thing as the test subscriber composite that I created.

      My test composite uses the same message selector rule, I use the same xsd from metadata. I have a different durableSubscriber value but this is expected.

      Can anyone suggest how I can proceed in debugging this situation?

      (I am on a clustered environment)
      Thanks
      Robert
        • 1. Re: AIAReadJMSNotificationProcess doesn’t fire
          Gerhard Drasch-Oracle
          Robert,
          maybe too obvious, but have you set EH.INVOKE.HWF to true in your AIAConfigurationProperties.xml (including upload to MDS of course)?

          Gerhard
          • 2. Re: AIAReadJMSNotificationProcess doesn’t fire
            Veeru-Oracle
            You can check if AIA_ERROR_TOPIC is getting the message by logging to weblogic console and checking the topic message count. If it is then check the JMSCorrelationID field, the default filter of AIAReadJMSNotificationProcess would use EH_DEFAULT. It this is different, it will not be invoked.
            • 3. Re: AIAReadJMSNotificationProcess doesn’t fire
              RobertMetcalf
              Hi,
              I have checked the property EH.INVOKE.HWF and it is set to true.

              I don't think this matters because if you look in the BPEL that the AIAReadJMSNotificationProcess uses you can see the following:
              <flow name="Flow_1">
              <sequence name="HWFSequence">
              <switch name="Decide_HWFInvocation">
              <case condition="aia:getSystemModuleProperty('ErrorHandler','EH.INVOKE.HWF',true())= 'true'">
              <bpelx:annotation>
              <bpelx:pattern>Check, if HWF invocation enabled</bpelx:pattern>
              </bpelx:annotation>
              <sequence>

              So it is in fact this composite that reads the setting and decides if the BPM worklist call is needed. As this is the case this composite should fire irrespective of the value of the setting. (Although I have verified it is true from the resource browser in JDev)

              I have confirmed the message is getting into the Topic using two methods
              1. Building my own subscriber to the topic which fires without a problem
              2. Looking at the weblogic console interface as described.

              Althouth AIAReadJMSNotificationProcess dosn't fire it does show faults in the Recent Faults and Rejected Messages section of EM
              The Error Message is always ORABPEL-11108
              Clicking into this I can retrive the fault payload. I have done this and confirmed that it is the same payload as the test fault I am creating.

              I have researched ORABPEL-11108 on the net and I think it refers to a malformed message (Although there are not many google hits for this)

              I have checked the WSDL's used for the JCA consumer components and mine matches the AIAReadJMSNotificationProcess one.

              I also checked composite.xml and I found that AIAReadJMSNotificationProcess sets it's component as a singleton. I did the same in my version of the composite and the situation remains, mine works without a problem, AIAReadJMSNotificationProcess fails.

              Robert
              • 4. Re: AIAReadJMSNotificationProcess doesn’t fire
                Veeru-Oracle
                Is the xml well formed ?. Are you using any intermediatemessagehop elements ?.
                • 5. Re: AIAReadJMSNotificationProcess doesn’t fire
                  RobertMetcalf
                  I don't know what a intermediatemessagehop element is.

                  I havn't customised the message at all.
                  The WSDLs created by the wizard when I created the working composite and the WSDL of AIAReadJMSNotificationProcess are both the same.

                  Both use oramds:/apps/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Core/Common/V2/Meta.xsd -> Fault Element

                  The XSD I get from the error is:
                  <default:Fault xmlns:default="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2"> <EBMReference xmlns="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2"/> <B2BMReference xmlns="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2"/> <FaultNotification xmlns="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2"> <ReportingDateTime>2011-12-02T16:19:06+00:00</ReportingDateTime> <FaultMessage> <Text>com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}assertFailure} messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage} parts: {{ summary=&lt;summary xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Test Fault Thrown&lt;/summary> ,detail=&lt;detail xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">TestFault - This composite is designed to have a 100% chance of faulting&lt;/detail> ,code=&lt;code xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">IMP0001&lt;/code>} </Text> <IntermediateMessageHop/> </FaultMessage> <FaultingService> <ID>RJMTest_RandomFault_ServiceCall_BPEL001</ID> <ImplementationCode>BPEL</ImplementationCode> <InstanceID>2460705</InstanceID> <ExecutionContextID>004gltJyRVY3BDCXBDr2Fh00023O000h2M</ExecutionContextID> </FaultingService> </FaultNotification> </default:Fault>

                  I have confirmed this is valid XML. Although not against the XSD.
                  If this wasn't well formed why is my composite able to work?

                  Robert
                  • 6. Re: AIAReadJMSNotificationProcess doesn’t fire
                    Veeru-Oracle
                    I dont see anything wrong. Can you try re-deploying the AIAReadJMS Process.
                    • 7. Re: AIAReadJMSNotificationProcess doesn’t fire
                      RobertMetcalf
                      Hi,
                      I am trying to redeploy but I am having problems.
                      In the directory
                      $AIA_HOME/Infrastructure/ErrorHandling/src/AIAReadJMSNotificationProcessApp/AIAReadJMSNotificationProcess
                      The files EH.componentType and AIAErrorTaskAdministraionProcess.componentType both have a file size of 0. Is this correct, should these be empty files?
                      Robert
                      • 8. Re: AIAReadJMSNotificationProcess doesn’t fire
                        RobertMetcalf
                        I have foudn the following in our WLS_SOA1.out file:
                        <05-Dec-2011 12:04:51 o'clock GMT> <Error> <oracle.soa.adapter> <BEA-000000> <JMSAdapter AIAReadJMSNotificationProcess JmsConsumer_translateFromNative: Received TranslationException>
                        <05-Dec-2011 12:04:51 o'clock GMT> <Error> <oracle.soa.adapter> <BEA-000000> <JMSAdapter AIAReadJMSNotificationProcess
                        ORABPEL-11108


                             at oracle.tip.pc.services.translation.framework.TranslatorFactory.createTranslator(TranslatorFactory.java:147)
                             at oracle.tip.adapter.jms.inbound.JmsConsumer.translateFromNative(JmsConsumer.java:562)
                             at oracle.tip.adapter.jms.inbound.JmsConsumer.sendInboundMessage(JmsConsumer.java:403)
                             at oracle.tip.adapter.jms.inbound.JmsConsumer.send(JmsConsumer.java:1161)
                             at oracle.tip.adapter.jms.inbound.JmsConsumer.run(JmsConsumer.java:1048)
                             at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
                             at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
                             at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
                        >
                        FINE: FaultPolicyManager.loadFiles No policy file for this composite : default/AIAReadJMSNotificationProcess!1.0*soa_9e9e398a-93c9-427a-a5ab-bbc6ad9af367
                        FINE: RecoverFault.Log ServiceEngine=bpel:recoverAndChain:Attempt recovery using Action ora-rethrow-fault
                        FINE: RecoverFault.Log ServiceEngine=bpel:resolveAndrecover: error in fault resolution::com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}remoteFault}

                        This relates to the ORABPEL-11108 error I am seeing.
                        • 9. Re: AIAReadJMSNotificationProcess doesn’t fire
                          Veeru-Oracle
                          The file should have the following content.
                          AIAErrorTaskAdministrationProcess.componentType

                          <?xml version="1.0" encoding="UTF-8" ?>
                          <componentType
                          xmlns="http://xmlns.oracle.com/sca/1.0"
                          xmlns:xs="http://www.w3.org/2001/XMLSchema"
                          xmlns:ui="http://xmlns.oracle.com/soa/designer/">
                          <service name="aiaerrortaskadministrationprocess_client"
                          ui:wsdlLocation="AIAErrorTaskAdministrationProcess.wsdl">
                          <interface.wsdl interface="http://xmlns.oracle.com/EH/AIAErrorTaskAdministrationProcess/AIAErrorTaskAdministrationProcess#wsdl.interface(AIAErrorTaskAdministrationProcess)"
                          callbackInterface="http://xmlns.oracle.com/EH/AIAErrorTaskAdministrationProcess/AIAErrorTaskAdministrationProcess#wsdl.interface(AIAErrorTaskAdministrationProcessCallback)"/>
                          </service>
                          <reference name="HumanTask_Actor_Only.TaskService_1"
                          ui:wsdlLocation="oramds:/soa/shared/workflow/TaskServiceInterface.wsdl">
                          <interface.wsdl interface="http://xmlns.oracle.com/bpel/workflow/taskService#wsdl.interface(TaskService)"
                          callbackInterface="http://xmlns.oracle.com/bpel/workflow/taskService#wsdl.interface(TaskServiceCallback)"/>
                          </reference>
                          <reference name="FYIHumanTask.TaskService_1"
                          ui:wsdlLocation="oramds:/soa/shared/workflow/TaskServiceInterface.wsdl">
                          <interface.wsdl interface="http://xmlns.oracle.com/bpel/workflow/taskService#wsdl.interface(TaskService)"
                          callbackInterface="http://xmlns.oracle.com/bpel/workflow/taskService#wsdl.interface(TaskServiceCallback)"/>
                          </reference>
                          <reference name="HumanTask_Actor_1.TaskService_1"
                          ui:wsdlLocation="oramds:/soa/shared/workflow/TaskServiceInterface.wsdl">
                          <interface.wsdl interface="http://xmlns.oracle.com/bpel/workflow/taskService#wsdl.interface(TaskService)"
                          callbackInterface="http://xmlns.oracle.com/bpel/workflow/taskService#wsdl.interface(TaskServiceCallback)"/>
                          </reference>
                          </componentType>
                          • 10. Re: AIAReadJMSNotificationProcess doesn’t fire
                            RobertMetcalf
                            Hi,
                            We have checked our DEV, TEST and PROD enviroments and in all enviroments EHcomponentType and AIAErrorTaskAdministraionProcess.componentType are 0 size files.
                            Can you confirm what version of AIA Foundation Pack you have installed, and also post the contents of EH.componentType
                            Thanks
                            Robert
                            • 11. Re: AIAReadJMSNotificationProcess doesn’t fire
                              Veeru-Oracle
                              What version of FP are you guys running ?. The code is for PS4.
                              • 12. Re: AIAReadJMSNotificationProcess doesn’t fire
                                RobertMetcalf
                                Hi,
                                We are using AIA FP version 11.1.1.5
                                Robert
                                • 13. Re: AIAReadJMSNotificationProcess doesn’t fire
                                  RobertMetcalf
                                  I have downloaded the generic version of the foundation pack from
                                  http://www.oracle.com/technetwork/middleware/foundation-pack/downloads/index.html

                                  I got the file ofm_aiafp_generic_11.1.1.5.0_disk1_1of1.zip

                                  In this file I extracted
                                  aiafp\Disk1\stage\Components\oracle.aia.fp\11.1.1.5.0\1\DataFiles\filegroup1.jar

                                  From this file I can go here:
                                  Infrastructure\ErrorHandling\src\AIAReadJMSNotificationProcessApp\AIAReadJMSNotificationProcess\

                                  I can see that both EH.componentType and AIAErrorTaskAdministrationProcess.componentType have zero size.

                                  This explains why they are 0 size in our install. It's strange thorugh beccause these seem to be required files for the composite to work.
                                  • 14. Re: AIAReadJMSNotificationProcess doesn’t fire
                                    RobertMetcalf
                                    After investigations in an SR I have found that there are mutiple bugs in the Oracle code.
                                    Oracle provided instructions on how to fix the issue

                                    Below copied from SR:

                                    After checking again with my colleagues from the AIA team, they replied with Note 1369101.1 - 'SOA Server With AIA Unable to Look Up Wsdl's At Startup' which seems to describe the situations found in your scenario. This note references the Bug 12979076 - "SOA11G MANAGED SERVER WITH AIA FAILS LOOKING UP WSDL AT STARTUP" explaining similar issue with SOA server while starting AIA due to references to concrete WSDLs. This Bug is fixed in AIA version 11.1.1.6.0 but the note also describes the way to fix this in prior versions.

                                    The note above includes some additional details for specific services affected by this situation that you might want to double check in your environment.