When you are using Oracle ESB 10g and encounter the message No WebService Provider is registered at this URL when testing a web service from the ESB Console try the following:
Verify the ESB web service providers are generated correctly in ESB runtime (known as the esb-rt):
Login into Enterprise Manager
Go to the Application Server Control
Click OC4J_SOA oc4j instance
Click Web Services tab
Verify the deployed web services are listed here, and test that services.
In case there are no web service from the ESB runtime (esb-rt) the service providers were not generated correctly, restart ESB-RT:
Click OC4J_SOA oc4j instance
Click the Applications tab
Expand Middleware Services, ESB and esb-dt
Check the esb-rt and click the restart button
Now check the j2ee/_instance_name_/log/*/oc4j/log.xml to see if the ESB application has started correctly. Verify that ESB-RT application is initialized correctly by searching for ‘ESB bootstrap: Runtime initialized‘ message in the log file. If you also restarted the ESB-DT, verify that ESB DT application is initialized correctly by searching for ‘ESB bootstrap: Repository initialized‘ message in the log file. And finally check that the ESB web service providers were generated correct (see above).
The question on the ability to purge instances for both Oracle BPEL and Oracle ESB keeps recurring so I decided to come up with a small overview.
FMW version 184.108.40.206 and up, there is a new version of the purge_soainfra_oracle.sql. Ensure that you run the purge setup scripts from the 220.127.116.11 RCU or 18.104.22.168 RCU location, respectively, as this contains the latest purge details. Details are in the SOA Admin Guide
FMW version 22.214.171.124 and up, there is a purge_soainfra_oracle.sql script in the RCU_HOME/rcu/integration/soainfra/sql/purge directory. In the release before 126.96.36.199 you need to apply patch 10297850 to obtain the updated purge scripts. More details are in the FMW Admin Guide on Managing Database Growth. Mark Kelderman posted on how to improve the performance of this script by adding a specific index.
From BPEL in SOA Suite version 10.1.3.3.1 and up, there is a purge_instances_oracle.sql script in the SOA_HOME/bpel/system/database/scripts directory.
For BPEL in SOA Suite version 10.1.3.1 you need patch 7162289. After applying this patch purge_instances_oracle.sql will be located at SOA_HOME/bpel/system/database/scripts.
In case you’re still running BPEL 10.1.2.0.2 check Oracle support document 398578.1 and document 341102.1
For Mediator in FMW 11g refer to the scripts and links mentioned in the BPEL paragraph.
To purge ESB instances in 10.1.3.4 you need to apply at least MLR#4 to have purge scripts available. There are 3 scripts available:
Recently the SOA Suite Engineering Team published a presentation on Purging strategies in Oracle SOA Suite 11gR1 PS3. Besides the information presented in this post, the presentation goes into targeted deletion from the EM and looks into looped and parallel purges. It also mentions the use of database partitioning. That can be very useful when you have long running instances and a large installation (the presentation gives more than 500GB total OR more than 10GB daily depending on environment specifics).
Update 2011-07 Purging the Extreme Edition
Mark Kelderman posted a blog on Purging SOA Suite 11g Extreme Edition. He give a SQL script that deletes data from Mediator, BPEL, BPM, Workflow and Composite, and after that reclaims disk space.
Update Purge Oracle Service Bus
Marc Kelderman posted on his blog on Purging OSB Report Data. Besides the default way to delete the data using the console. He also gives a SQL script to purge directly in the database.
SOA 11g database growth strategies
In January of 2012 the Oracle Fusion Middleware whitepaper on database growth strategies was published. The advice presented should facilitate better dialog between SOA and Database administrators when planning database and host requirements. An important aspect of the whitepaper is purging of the SOA database.
As part of the Oracle Fusion Middleware (FMW) SOA 11g Infrastructure Database: Installation, Maintenance and Administration Guide [ID 1384379.1] A purging guide has been published to offer strategies and procedures for managing database growth in a production SOA 11g implementation.
Purging is not supported for MS SQL Server out of the box or through a patch in any version of 11g. The provided scripts can, however, be used as a solid base from which to create usable purge scripts for SQL Server.
The session I presented at the SOA Symposium 2010 is now available online via InfoQ. You can find it as a Service Bus case study. It is introduced as:
a case study of using a service bus in a supply channel connecting a wholesale supplier with hundreds of retailers, the overall context and challenges faced – including the integration of POS software coming from different software providers-, the solution chosen and its implementation, how it worked out and the lessons learned along the way.
Configure a Domain using the Oracle Fusion Middleware Configuration Wizard using ./config.sh in the /oracle/osbhome/oracle_common/common/bin directory.
A straightforward configuration of the WLS Domain requires the following steps:
In the 10g release of Oracle SOA Suite you could set properties to instruct web service calls to go via SOAP or not. If you were calling services on the same server or domain you could gain some performance with a native call and avoiding the SOAP overhead. To do this you would set the optSoapShortcut property.
With SOA Suite 11g on WLS SOAP optimization is automatically configured. In the scenario where you upgraded to 11g R1 and are using this optimization shortcut approach, you should specify the Server URL in the SOA Infrastructure Common Settings. Optimized calls are only active when the host name value (referred to as WSDL URL in the composite.xml) matches the Server URL.
To configure the SOA Infrastructure Common Settings choose from the SOA Infrastructure Menu > SOA Administration > Common Properties. As shown in the screenshot. Other access ways to this configuration screen are described here.
Enter the server URL in the Server URLs section. This URL is published as part of the SOAP address of a service in the concrete WSDL file. Either set both values to the host name (for example, myhost) or to the full domain name (for example, myhost.domain.com). If these values do not match, a regular SOAP call is performed instead of an optimized local call.
One of the scenarios that you have to set the Server URL in order to use the optimized local call is after a migration of AIA to AIA 11g R1.
In this blogpost I’ll share some steps you can take to get your AIA 11g R1 installation back on track. If you do not perform the Pre-Installation Configurations as described in the Foundation Pack 11g Release 1 (188.8.131.52.0) Installation Guide (available as partnumber E17949-01 via eDelivery), it is possible that your AIA installation fails. After checking the pre-installation configuration it is possible to start the installation again if you follow these steps:
Navigate to /user_projects/domains/ and delete the edit.lok file.
Delete any file located in /user_projects/domains//pending
Log into the weblogic console and activate all the changes.
Restart SOA Suite and Weblogic domain.
Press retry button on the installation screen
If the installation screens are no longer available because you closed them, use the log files to figure out what targets haven’t been performed yet and run these targets (in the sample case below it were Deployments and PostInstallScript):
Move to the /aia30/aia_instances/aia30poc/bin and source ./aiaenv.sh.
ant -f /aia30/Infrastructure/Install/AID/AIAInstallDriver.xml -DDeploymentPlan=/aia30/config/FPInstallDP.xml -DPropertiesFile=/aia30/config/AIAInstallProperties.xml Deployments
ant -f /aia30/Infrastructure/Install/AID/AIAInstallDriver.xml -DDeploymentPlan=/aia30/config/FPInstallDP.xml -DPropertiesFile=/aia30/config/AIAInstallProperties.xml PostInstallScript
Besides the reference in the documentation library to the Install Guide and the Quick Install Guide, there are several blogs describing the installation of 184.108.40.206. Which is actually a patch on 220.127.116.11:
The one on Oracle blogs by James Taylor includes OSB 18.104.22.168
SOA Suite on Amazon EC2
This week it was announced that BPM 11g R1 is available as an Amazon Machine Image (AMI). This AMI includes SOA Suite 11gR1 Patchset 2 and JDeveloper with the SOA and BPM extension. In AWS filter on 64-bit and put soa-bpm in the search box. This should enable you to find oracle-soa-bpm-11gr1-ps2-4.1-pub. Some of the tips I posted on x SOA Suite in the cloud could be useful here as well.
There are several advantages when working in a project with Oracle SOA Suite to have a local installation of the SOA Suite on your workstation. While developing and trying bits of code you can’t break other peoples work as you can on a central server. Running FMW 11g on a workstation with say memory on the low end of the spectrum can be challenging. In this blog I’ll show you some additional (to this previous post) measure that my blogless colleague Rob Heikoop came up with.
Rob came up with two things:
Create an All in One AdminServer as described on the Oracle wiki. We skipped BAM in the installation Use only one Domain in WLS. You’ll have to combine the admin en the SOA_domain. Running just one domain saves memory.
Keep the database centralized. In the central database each developer has it’s own SOA schema that is especially created for him. To do this run the RCU for every developer and use the prefix to reflect for example the developers initials (example of using RCU on slideshare). Not running the database on your workstation saves memory and CPU.
In order to have new developers being able to use this quickly we copy the reference installation (with plug-ins, patches and the works) and alter the configuration:
Alter the scripts in the C:\Devel\SOAMiddleware\user_projects\domains\soa_domain\bin directory to reflect your workstation name instead of that of the reference machine. You can do this easily by using an editor like Notepad++ and use Search > Find in files > Replace in files. Otherwise you’ll be stopping your teammates server…. (again sorry Rob)
Change the configuration files in C:\Devel\SOAMiddleware\user_projects\domains\soa_domain\config\jdbc to reflect the prefix created especially for you while using the RCU. Again Notepad++ can help you here.