Saturday, November 27, 2010

Provider ABCS not able to read the data while transform, Default Part Name not correct

I started working on AIA 3.0 with SOA 11.1.3.3 and developed a simple Worker interface that fetches the data from a table and transfers it to Provider ABCS.

But while running it, I faced the 2 errors.
The first error that I faced was at the time of compilation. Well, that was seemingly a bug which was worked around.

Later, when I was testing the process, it behaved strange in a way that the all records travelled till Provider ABCS Receive activity properly but did not get Transformed. The Transform activity payload looked empty as shown below. 

  <Invoke_WriteAllWorkersFile_InputVariable>
      <part  name="XxbbIntgWorkersCollection">
           <XxbbIntgWorkersCollection />
      </part>
  </Invoke_WriteAllWorkersFile_InputVariable>
  
I tried various things for this. But later found that the problem was with Provider ABCS. While constructing the PABCS using service constructor, it created the SyncWorkerProvABCSImpl.WSDL (<ProjectName.WSDL>) message part as
  
  <message name="SyncWorkerReqMsg">
        <part name="SyncWorkerEBM"   
              element="eboebo:SyncWorkerListEBM"/>
  </message>

However, looking at the transformation I noticed that actual data is coming into the part with name SyncWorkerListEBM instead of SyncWorkerEBM. Hence as my transform by default was trying to access the data from the SyncWorkerEBM part, it was not getting any data resulting in empty transformation output variable. I changed the above code as following and it worked like a charm.

  <message name="SyncWorkerReqMsg">
     <part name="SyncWorkerListEBM" 
           element="eboebo:SyncWorkerListEBM"/>
  </message>

The same has been raised to Oracle but till they come up with something, we need not stop. Let’s be going…

No comments:

Post a Comment