Question
· Jan 31, 2023

Call Business of another namespace

Hello!

 

Is there a way to call a business of another namespace?

 

My example:

BS calls BP

BP decides between two BOs one in the same namespace, and the other one in another namespace

Product version: Ensemble 2017.1
Discussion (2)2
Log in or sign up to continue

Hello,

One way to invoke the Code of a BO you have defined in another Database, would be to "map" the class Definition package of this BO to have it visible from your current namespace and add it as another BO in your production. 
The Package Mapping in the Namespace definition allows you to share code between Namespaces.

If you really need to invoke Business Hosts of Production B running in Namespace B from a Production A running in Namespace A, one correct way to perform this is to have your BP invoke a BO in the same production/namespace(A) and from there, call into a Business Service into the Production B. 

From within a BO, it is posible, however, to access data in another namespace, using set $Namespace="B" and running your code, and coming back into "A" before finalizing the method (and in your catch block if an error occurs while running code in "B"). 

 

May be you could try simply passing message to the required namespace:

  • Create two operations in the current namespace
  • Configure one of the operation as TCP connection to a business service in the second namespace where you have the required operation(see sample config) 

  • Configure the business service in the second namespace as pass-through to the required operation in that namespace