How to change IP/host and other varibles for SOA application deployment

By W.Zh Jan 2011


When I create a soa compisite application, which mostly includes some WS call, needs the wsdl end point host, port for URL… then your BPEL process run against the WS. But when u deploy from jdevelpoer you found you can not change your WSDL host and port info, as all these ip and port are used in the composite.xml in the app… It can not change after u deploy.  So u can not deploy to a new server to run the WS end point.


In fact, this is a very basic issue in SOA, but initially we think this is very hard thing. SOA developer guide introduces something called configuration plan file. In fact it is a XML can let u replace these variables in the composite.xml for different deployment. You can read the SOA dev guide 41.6 chapter to use the jdev to create and edit the configplan file.  When u deploy from Jdev, u can refer to use what config plan file for a deployment.

When u deploy from WLS EM console UI, in the SOA admin guide chapter 5, you can point to use a config plan file to define this deployment uses what plan file to replace these variables.

Based on this plan file, you can also use OUI to collect the user input for these replaces, in the OUI install steps, and then u change the plan file content in OUI and make your application installtion can fit user’s server enviroment. And also if you deploy from ant, you can use the plan file too.

This is very useful!.


SOA ADF-BC service “Could not find registry …”

By W.ZH Oct 2011


In the SOA Composite Application, we have ability  to access the ADF-BC service from BPEL Service Adapter. Everything looks fine in Jdeveloper, but after i deploy my ADF application and also the SOA application. try to test the SOA application via WS. Always get an error like:

“Could not find registry for SalaryControlService_JOBServiceRegistry”


1. From Jdev help, you know that when you create the ADF-BC Service Adapter in BPEL as external service, the input registry should be “XXXXX_BCServiceRegistry”.

2. I also double check in the Jdev’s ADF application deployment profile, to make sure the application name is “SalaryControlService”.

3. Another way to veryfiy your application name is by <FMHOME>\user_projects\domains\<DOMAIN>\config\config.xml

So the final way I make it to work is from this link: .  Give them all credits.


In your ADF application’s weblogic-application.xml, make sure you added the JBO listener to it:




Then this problem can be solved!

Calling EJB From SOA Composite Application

By W.ZH Sept 2011From SOA Dev guide, we can have two ways to call the EJB – by SDO WSDL or by java interface. For the second method, I think best article is from Lucas article at here :
I have follow his way to build the sample in Jdev, there are a bit jdev UI difference. But all things can work well together. I have upload my two projects to here:

You can download and try out.

other link might be useful:


SOA Suite Basic

Oracle SOA Suite provides the following set of integrated capabilities:

■ Messaging

■ Service discovery

■ Orchestration

■ Web services management and security

■ Business rules

■ Events framework

■ Business activity monitoring

Service engines are containers that host the business logic or processing rules of these

service components. Service engines process the message information received from

the Service Infrastructure.

There is a corresponding service engine of the same name for each service component.

All service engines can interact in a single composite.

The SAR is a SOA archive deployment unit. A SAR file is a special JAR file that

requires a prefix of sca_. (for example, sca_OrderBookingComposite_

rev1.0.jar). The SAR file is deployed to the Service Infrastructure.

  • add service components that implement the business logic or processing rules of your application
  • You add a service binding component to act as the entry point to the SOA composite application from the outside world.
  • You add reference binding components that enable the SOA composite application to send messages to external services in the outside world.