on 07-17-2006 7:00 AM
Hi,
Is it possible to send two different XML structures using only ONE BPM ? Suppose i have a source xml
<SourceXml>
- <ItemCode>
- <Price>
- <Description>
</SourceXml>
Now inside BPM, i check the ItemCode and based on that i can send two xml structures.
<Output1>
- <ItemCode>
- <Quantity>
</Output1>
or the other structure is
<Output2>
- <ErrorInfo>
- <ErrorCode>
- <ErrorDetails>
</ErrorInfo>
</Output2>
I cant have two sender interfaces for BPM. But can this be done using Receiver Determination in BPM ? If yes, any pointers?
Hi,
You do not need a BPM for this
You can use Multimapping without BPM.
Just check this blog,
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
Regards,
Bhavesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Just a suggestion;
Why dont you check the structure in Recv. determination itself and then in your interface mapping call the required mapping to convert the structure accordingly.
Maybe you can avoid the BPM itself.
Ref:
/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
/people/suraj.sr/blog/2006/01/05/multiple-inbound-interfaces-within-a-service
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I think the question was not put properly. Actually i have a BPM in which i have single block within which i have an exception block. Now, If there's an exception then an <ErrorXML> is generated and sent to SysA and if there's no error then the <SuccessXML> is sent to SysB. Sorry for not putting it properly at the first go!
Hi,
<i>I cant have two sender interfaces for BPM. But can this be done using Receiver Determination in BPM ? If yes, any pointers?</i>
You can have 2 sender Interfaces in your BPM? So, just define 2 Abstract Asynch Interfaces , one for the Valid message and other for Error and then use them in the correspoding Send Steps with container variable and the corresponding receievr Determaintion..
2 receiver determaintions involving,
1. VALID ASYNCH ABTSRACT INTEFARCE
2 . ERROR ASYNCH AVSTRACT INTERAFCE
Regards,
Bhavesh
I suppose we can add the interfaces only when i install the Integration process into IR. Once installed, when i double click on it, it shows me the sender & receiver tabs with their respective interfaces. In sender interfaces, i DONT' have an option to add another interface. Where else can i add the second interface ?
Oops! Can u help me with any weblog ? in the BPM i have two send steps (One for correct and another for error). I also have two different container variables for error adn success messages. Stuck with the Receiver determination part! Dunno how it works! any weblog / link / any stuff which would help would be highly appreciated .?
Hi,
You will have 2 different receiver determinations.
1. Sender Service : BPM
Sender Interface : Valid Abstract Aychn Interface.
Reciver Service : Reciver of the message
Inbound Interface : Valid Aynch Inbound Interface
2. Sender Service : BPM
Sender Interface :Error Abstract Aychn Interface.
Reciver Service : Reciver of the Error message
Inbound Interface : Error Aynch Inbound Interface
You need to have total 4 interfaces in IR. 2 Aycnh Abstract and 2 Aynch Inbound.>!!
Regards,
Bhavesh
Hi Qadeer,
You have to design your BPM in the following way:
1)Recieve step : to recive the data from the source
2)switch : check the condition( success or failue )
design one send step there after that one container varible.
In the swithch on other side design one more send step and container variable..
You have two reciever determinations here.only one reciever determination will work in run time..
your ID steps :
1)Source to BPM
2)BPM to destination (success)
3)BPM to destination (failure)
Sekhar
Yeah i can understand what you are trying to tell.
Suppose the source sys is "SourceSys" and the success message is to be sent to "SuccessSys" and Failure message is to be sent to "FailureSys", i run the Configuration wizard once from SourceSys to BPM. And i run it again for BPM to SuccessSys.
Now, When i try to run the wizard again from BPM to FailureSys, the list of sender interfaces for BPM DOESNT' show the Abstract Error Interface which obviously means that i will have to add that abstract interface for error to my BPM's list of Sender interfaces which is not allowed.
Please check this image : It shows the BPM installed into IR. There's no option to add another interface to BPM...
<a href="http://www.geocities.com/qadeer_824/images/BPMImage.jpg">BPM Image in IR</a>
Hi Qadeer,
<i>Now, When i try to run the wizard again from BPM to FailureSys, the list of sender interfaces for BPM DOESNT' show the Abstract Error Interface which obviously means that i will have to add that abstract interface for error to my BPM's list of Sender interfaces which is not allowed</i>
You have to create one more interface mapping for failure..did u create this one?
Thanks,
Sekhar
Hi Qadeer,
If you did not create then .. create one more interface mapping ie between Asynchrous abstract interface(source) and asynchronous inbound interface(destination).Give this abstract asyn interface in BPM failure send step.
Then you can find the message interfaces for the source and destination in the ID.
Thanks,
Sekhar
User | Count |
---|---|
82 | |
10 | |
10 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.