# Maintaining Service Broker Controls

In general, Service Broker controls are utilized in situations where the parent process and subprocess are in the same application, or in situations where the parent process and subprocess are in different applications.

In both situations, if the Service Broker control is changed on the subprocess side of the transaction, you must regenerate the control on the parent side to insure that the control will operate normally. If the subprocess and parent process are in different applications, and the Service Broker control is changed in any way (i.e. request/response removed, etc.), backward compatibility may be compromised. If this happens, you must merge the Service Broker control on the subprocess side and repropagate the control back to the parent business process.

Note: Much like the Service control, the Service Broker control can throw a ServiceControlException class when a SOAP fault occurs. To access this SOAP fault, use the JPD's JpdContext.ExceptionInfo interface to see if the offending cause is a ServiceControlException. For more information on the ServiceControlException class, see "ServiceControlException Class" in com.bea.control Package. For more information on the JpdContext.ExceptionInfo interface, see "JpdContext.ExceptionInfo Interface" in com.bea.jpd Package.