Shawn - about making the processing rules synchronous: open a processing rule in TN Console, select the ‘Action’ tab. Here you presumably have already set a service in ‘perform the following action’ - just select the ‘synchronously’ radio button also.
If one processing rules triggers another, you must set all the relevant processing rules to ‘synchronous’. So for eg, if you have this scenario:
Incoming document A -> rule R1 matches and translates it to ->
Intermediate document B -> rule R2 matches and translates it to ->
Final document C -> rules R3 matches and dispatches it to backend
In this case, rules R1, R2 and R3 must all be set to ‘synchronous’ because they are in the ‘processing path’ the document takes. When your partner posts, he will get a 200/OK only after R1, R2 and R3 have all finished, and document C has been generated and dispatched.
> I think we’ll look into the synchronous approach some more and see
> what that would mean for us and the trading partner. We have talked
> about single-threading but preferred not to do even if we could in
> case one transaction errored and held up not only related subsequent
> transactions, but un-related transactions. Wouldn’t synchronous
> processing result in the same sort of backlog if errors were
> incurred?
Yes, it would. You could mitigate by separating out unrelated transactions into different groups of transactions - that way, if a hold-up occured in one group, it would not hold up other groups. But if one document in a set of related documents has an error, and delivery order for these documents must be maintained, by definition you cannot submit the other documents until the error is resolved.
Synchronous processing/single-threading is often can be quite an acceptable alternative. The important thing is no delays inserted between posts - the server just makes sure processing is synchronous, and the client ensures it wait for the acknowledgement before posting the next document from the group.
#Integration-Server-and-ESB#B2B-Integration#webMethods