6 Replies Latest reply: Nov 7, 2012 3:45 PM by Venkatesh Ramasamy RSS

    B2B MS Excel Payload not sent to SOA

    Venkatesh Ramasamy
      Hello,

      I am working on an Inbound MS Excel file to convert to XML. I am using B2B / SFTP, the B2B picked up the Excel file from the SFTP server and failed in handing over to the Composite application with the error message B2B Label:PCBPEL_11.1.1.4.0CP_GENERIC_110801.0451.0063: java.lang.NullPointerException.

      I am not sure where the problem lies and why it's failing. I would appreciate if any one could point me to the problem.

      Thanks,

      Venkatesh


      [2012-11-01T13:57:07.326-05:00] [SOAdevAsoacluster01server01] [NOTIFICATION] [SOA-21557] [oracle.integration.platform.blocks.deploy.servlet] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ramasamyv] [ecid: 0000JexLNQsBp215zv8DyW1G^djS000007,0:2] [APP: soa-infra] CompositeDeploymentServlet-----> completed deploying sca_B2BamCraft_rev1.0.jar successfully. Time spent: 1.124 sec.
      [2012-11-01T13:58:20.024-05:00] [SOAdevAsoacluster01server01] [ERROR] [] [oracle.soa.b2b.repository] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ramasamyv1] [ecid: b8aa5a9790cf3aa8:-5228c84f:13ab39db931:-8000-0000000000039db5,0] [APP: b2bui] 2012.11.01 13:58:20.024--UnitOfWork(404798271)--Thread(Thread[[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)',5,Pooled Threads])--[[
      UnitOfWork identity hashcode: 404798271
      All Registered Clones:
      Key: [0A01283313ABD508018000001771E43A]     Identity Hash Code: 404822720     Object: oracle.tip.b2b.model.instance.BusinessMessage@18211ac0
      ]]
      [2012-11-01T13:58:20.154-05:00] [SOAdevAsoacluster01server01] [WARNING] [] [oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectOneRenderer] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ramasamyv1] [ecid: b8aa5a9790cf3aa8:-5228c84f:13ab39db931:-8000-0000000000039db5,0] [APP: b2bui] Could not find selected item matching value "" in RichSelectOneChoice[UIXEditableFacesBeanImpl, id=value20]
      [2012-11-01T13:58:20.157-05:00] [SOAdevAsoacluster01server01] [WARNING] [] [oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectOneRenderer] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ramasamyv1] [ecid: b8aa5a9790cf3aa8:-5228c84f:13ab39db931:-8000-0000000000039db5,0] [APP: b2bui] Could not find selected item matching value "" in RichSelectOneChoice[UIXEditableFacesBeanImpl, id=value30]
      [2012-11-01T13:58:20.159-05:00] [SOAdevAsoacluster01server01] [WARNING] [] [oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectOneRenderer] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ramasamyv1] [ecid: b8aa5a9790cf3aa8:-5228c84f:13ab39db931:-8000-0000000000039db5,0] [APP: b2bui] Could not find selected item matching value "" in RichSelectOneChoice[UIXEditableFacesBeanImpl, id=value40]
      [2012-11-01T13:58:20.671-05:00] [SOAdevAsoacluster01server01] [ERROR] [] [oracle.soa.b2b.engine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@15125880] [userId: <anonymous>] [ecid: b8aa5a9790cf3aa8:-5228c84f:13ab39db931:-8000-0000000000039db9,0] [APP: soa-infra] B2B Label:PCBPEL_11.1.1.4.0CP_GENERIC_110801.0451.0063: java.lang.NullPointerException[[
           at oracle.tip.b2b.msgproc.MessageHandler.deliverMessageToFabric(MessageHandler.java:1171)
           at oracle.tip.b2b.msgproc.MessageHandler.doDeliverMessageToDestination(MessageHandler.java:629)
           at oracle.tip.b2b.msgproc.MessageHandler.deliverMessageToDestination(MessageHandler.java:246)
           at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:4174)
           at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:3300)
           at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:683)
           at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:231)
           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)

      ]]
      [2012-11-01T13:58:25.000-05:00] [SOAdevAsoacluster01server01] [WARNING] [] [oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectOneRenderer] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ramasamyv1] [ecid: b8aa5a9790cf3aa8:-5228c84f:13ab39db931:-8000-0000000000039dc7,0] [APP: b2bui] Could not find selected item matching value "" in RichSelectOneChoice[UIXEditableFacesBeanImpl, id=value20]
      [2012-11-01T13:58:25.003-05:00] [SOAdevAsoacluster01server01] [WARNING] [] [oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectOneRenderer] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: ramasamyv1] [ecid: b8aa5a9790cf3aa8:-5228c84f:13ab39db931:-8000-0000000000039dc7,0] [APP: b2bui] Could not find selected item matching value "" in RichSelectOneChoice[UIXEditableFacesBeanImpl, id=value30]
        • 1. Re: B2B MS Excel Payload not sent to SOA
          Anuj Dwivedi
          Venkatesh,

          Check the payload in application message report and make sure that it has been properly translated into XML. When B2B fails to deliver the message to SOA composite over fabric then it delivers the message to IP_IN_QUEUE (which is an AQ) in SOAINFRA schema.

          Regards,
          Anuj
          • 2. Re: B2B MS Excel Payload not sent to SOA
            Venkatesh Ramasamy
            Thanks for your reply Anuj,

            The first step I am doing is to take the file in to the SOA Environment (Like copying the file to the folder), bsically my B2B Adapter is doing an opaque and no translation is done.

            Do you have any suggestion other than transfering an opaque and then converting to XML?

            Thanks,
            Venkatesh
            • 3. Re: B2B MS Excel Payload not sent to SOA
              Anuj Dwivedi
              The first step I am doing is to take the file in to the SOA Environment (Like copying the file to the folder), bsically my B2B Adapter is doing an opaque and no translation is done.
              Lets see if B2B is able to pass correct file payload to back-end. Please follow below steps to test it -

              1. Un-deploy your composite
              2. Create an "Internal" Generic-File channel (mark internal checkbox in the channel attributes tab) in your host TP profile.
              3. Select the channel created in step#2, in the inbound agreement (in host TP channels drop-down)
              4. SAVE+VALIDATE+Deploy the agreement
              5. Run a test again and go to the directory of channel created in step#2 and verify whether data is intact.

              If above test fails (in step#5, you do not find the data intact) then it means either input data is not correct or there is some issue in B2B config.

              Regards,
              Anuj
              • 4. Re: B2B MS Excel Payload not sent to SOA
                Venkatesh Ramasamy
                Looks like the file is not the same as the source,

                Source FileName: TestVendor_TestVendorOrderDetails_v1.0_123333333.xls (Microsoft Excel)

                New File Name in the Directory specified in the Internal Channel: TestVendor_TestVendorOrderDetails_v1.0_1_0A01103D13AD68C2AC5000007A0EBF00-1.dat

                Any idea why the file extension was changed to dat? and is this readable by SOA Composite (File Adapter)?

                Thanks

                Venkatesh
                • 5. Re: B2B MS Excel Payload not sent to SOA
                  Anuj Dwivedi
                  Venkatesh,
                  Any idea why the file extension was changed to dat?
                  By default Oracle B2B uses below filename format for writing the files -

                  <TP_name>_<DocTypeName>_<DocTypeRevision>_<MessageType>_<MessageId>.dat

                  However you may customize it as per your need using "filename format" parameter of the channel -

                  http://docs.oracle.com/cd/E28271_01/user.1111/e10229/b2b_tps.htm#BABBCDHI

                  So in your case you may use below filename format in your channel (if always xls are received) -

                  %FROM_PARTY%_%DOCTYPE_NAME%_%DOCTYPE_REVISION%_%MSG_ID%.xls

                  or select the checkbox "Preserve Filename" in the channel configuration to retain the original filename.
                  and is this readable by SOA Composite (File Adapter)?
                  Yes, it should be because B2B only changes the file extn and not the underlying content. You may just rename the .dat to .xls and see the content of it (if it has not got corrupted during the transfer).

                  Regards,
                  Anuj
                  • 6. Re: B2B MS Excel Payload not sent to SOA
                    Venkatesh Ramasamy
                    Hi Anuj,

                    Looks like the file got corrupt during the transfer, an Excel file in the below format

                    Company or Name     Attention     Street Address     Street Address 2     City     State     Zip     Weight Order#
                    Comp1           Mr.ABC     Addres1     NA WAUKESHA WI     68686     45 123456

                    looks like this after the transfer,

                    �����������3f������ff���f����������������������������������̙����3f�3���������fff����3f3�f333�3�3f33�333\���`�''Test sample spreadsheet 10-24-12���������4Company or Name     AttentionStreet AddressStreet Address 2CityStateZipWeight     

                    Not sure how the transfer could corrupt the file.
                                        
                    With your suggestion of using the Preserve File Name and using the File Name Format field I got the same file name in to the target directory.

                    Thanks
                    Venkatesh