cancel
Showing results for 
Search instead for 
Did you mean: 

Aggregator Pattern

rasjoshi
Active Contributor
0 Kudos

Hi Experts,

I am working on NWBPM Aggregator Pattern..... I deployed it on PI server and while trying to START the PROCESS from the process repository I am getting below error -

Error -

Process 'Aggregator' set to In Error

A technical error occured during invocation of operation 'getTime' of interface 'SampleTimer': 'Could not invoke service reference name 245b832e-1ffe-4d3a-800a-5b1baf2f64fa, component name demo.sap.com~agg_rash~BPMcomponent, application name demo.sap.com/agg_rash.'. Further information: root exception Message 'Configuration not found for application: demo.sap.com/agg_rash,serviceRefId:{http://www.sap.com}agg_rash_demo.sap.com~agg_rash~BPMcomponent_245b832e-1ffe-4d3a-800a-5b1baf2f64fa_WS. Please check the configuration details from the NWA. You may have not assigned the Service Group to a Provider System, or the generation of the configuration has failed.'; message ID 'n/a'; log ID 'C0000A76144D3BE90000000100001828'

Below is the blog I am following...

Aggregator Pattern in NWBPM

BR,

Rashmi

Accepted Solutions (1)

Accepted Solutions (1)

former_member182412
Active Contributor
0 Kudos

Hi Rashmi,

Alternatively change the Count from Automated Activity to Mapping Activity and do the count mapping same like before then you will not get this problem.

Regards,

Praveen.

rasjoshi
Active Contributor
0 Kudos

Thanks Praveen, my process is in running status now.. But when I sent 3 files via SOAP UI in RWB I can see all three msgs reached to NWBPM but I do not see any msg back from NWBPM to PI..

Any idea @ this?

BR,

Rashmi

former_member182412
Active Contributor
0 Kudos

Hi Rashmi,

  • Did you assign the correlation condition in intermediate message event?

  • What is the counter value ? is it equals to 3? you can check this in Context data tab.

Regards,

Praveen.

rasjoshi
Active Contributor
0 Kudos

Yes... I have applied condition in intermediate message event which is - get(MT_Agg_Send/Records/Product_Brand,0)=Product

And in context tab I can see only value as 1

Below is the file I triggered for sample testing -

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ras="urn:Aggregator.com/Rashmi">

   <soapenv:Header/>

   <soapenv:Body>

      <ras:MT_Agg_Send>

         <!--Zero or more repetitions:-->

         <Records>

            <Product_Brand>HP</Product_Brand>

            <ProductCode>001</ProductCode>

            <ProductName>Ultrabook</ProductName>

         </Records>

                  <Records>

            <Product_Brand>HP</Product_Brand>

            <ProductCode>001</ProductCode>

            <ProductName>Ultrabook</ProductName>

         </Records>

                  <Records>

            <Product_Brand>HP</Product_Brand>

            <ProductCode>001</ProductCode>

            <ProductName>Ultrabook</ProductName>

         </Records>

       </ras:MT_Agg_Send>

   </soapenv:Body>

</soapenv:Envelope>

former_member186851
Active Contributor
0 Kudos

Instead of triggering one XML,Try triggering 3 idividual XMLs.

If you wish to send all in one request,split is required.

rasjoshi
Active Contributor
0 Kudos

But why count = 1 even when I am sending 3 ???

Also, If I try to START the process manually from NWA it is not allowing me to start it... Anything wrong here?

former_member186851
Active Contributor
0 Kudos

see aggregator collects 3 messages,your not splitting the XML then how the count will become 3?

rasjoshi
Active Contributor
0 Kudos

I tried triggering 3 files one by one.. for every  single file my process getting triggered with value as 1 only....

Can we restart this process manually via NWA???

I am not able to... this process only getting trigger when I am sending some file....

BR,

Rashmi

former_member186851
Active Contributor
0 Kudos

I guess manually start is not possible,You can stop the process which is failed.

Something should be wrong in correlation then.Can you post the pattern and correlation steps to assist you further.

Answers (3)

Answers (3)

rasjoshi
Active Contributor
0 Kudos

Hi Praveen,

Below are the properties I am using in my process model -

Model -

Start Event -

Count property - long(0)

Product - get(MT_Agg_Send/Records/Product_Brand,0)

Intermediate event - I am appending message here

Mapping Event - I am using my Operation map here as a service reference and 1 to 1 mapping in Input mapping and Output mapping

Send Event - Service Interface used here is my Service Interface for NWBPM OB (which contains my receiver structure SI_Agg_NWBPM_OB (In:MT_Agg_Rx, Out:))

Please let me know where my step is going wrong.

BR,

Rashmi

former_member182412
Active Contributor
0 Kudos

Hi Rashmi,


I tried triggering 3 files one by one.. for every  single file my process getting triggered with value as 1 only....

  • For every file the separate process instance is creating instead of assigning to same process instance, it could be you did not map product data object in start event mapping section (suppose to map get(MT_Agg_Send/Records/Product_Brand,0) that is why every time you send the file the product value is null and your correlation condition(get(MT_Agg_Send/Records/Product_Brand,0)=Product) is returning false always and creating separate instance every time instead of assigning to same instance for unique product name. You can check product data object value for running process instance in context data if this is blank then map the product in start event.

Also, If I try to START the process manually from NWA it is not allowing me to start it... Anything wrong here?

  • StartProcess is disabled in NWA for this process, the reason for this is the process is conditional start process, any pointing time for unique product name only one process must be running state, if any process instance already running for a product 'HP' you must not start another process with same product name 'HP' that is why it is disabled in NWA because from NWA you can start multiple times with same product name, if you send the two message via PI for same product then process engine will check is there any process instance is running for this product name if already running the it will assign it to same process instance, if it is not running then it will start new process instance for the that product name.

Can we restart this process manually via NWA???

  • For other question you can resume failed process instance in NWA (Manage Processes: Process Instances) by selecting Resume under Actions button like below, but your current failed ones does not work because of wrong product value assigned already, you need to cancel and rerun the interface.

        

Regards,

Praveen.

rasjoshi
Active Contributor
0 Kudos

Thanks for great explanation Praveen... I will check on your suggested points and will post the results....

BR,

Rashmi

former_member186851
Active Contributor
0 Kudos

Hello Rashmi,

I guess your using "getTime" as service interface for one of the Activities.

change it to actual interface and assign some service reference to it.

It will work.

rasjoshi
Active Contributor
0 Kudos

I am using it in Counter - Automated activity... Do I need to change something else here?

BR,

Rashmi