This question is not easy to ask. So I will try my best to ask in a clear way. We have an Enterprise SOA Suite 10G system already running in place. A small process, I will explain in this way.
Consumer->ESB->BPEL->ESB->Provider Webservice
A consumer calls one of our ESB process, which in turn forwrds the request to BPEL, which again calls another ESB. This final ESB calls an external WebService which is supplied by our provider.
Now to make it even clearer.
Consumer C1--WSDLExt1-->ESB1-->WSDLInt1-->BPEL--WSDLInt1-->ESB2--WSDLExt2-->Provider Webservice
- To explain this, Consumer is C1, and our first ESB is ESB1. The WSDL used between them is WSDLExt1.
- ESB1, after transformation forwards the request to BPEL. BPEL then forwards the request to ESB2. As ESB2 and BPEL use the same WSDLInt1, there is no transformation in BPEL
- ESB2 then transforms the request and sends it to Provider Webservice. The WSDL used between ESB2 and Provider Webservice is WSDLExt2.
Now here comes the question. Now due to a strange new requirement, we have to add a new operation in WSDLExt2. NOTE: Only a new operation. But here comes the twist. 1. Suppose, for a new operation, I define new mesages. 2. Or I continue using already existing(defined) messages in the WSDL for this new operation.
In each situation, will I need to modify WSDLInt1 and in turn, modify BPEL?
In short, my question is, will the addition of a new operation, have effects on the previous process that call it? Will this result in any fault?