March 13, 2008

SOA Suite Olite

There are times that you may need to connect to the database that is used by Oracle SOA Suite to perform post-patch processing.  I have included the following as a reminder of how to connect to the associated Olite database.

Mobile SQL Client ($ORACLE_HOME\Mobile\Sdk\BIN\msql.exe) is used to connect to an Olite database. The version distributed with SOA Suite is 10.2.0.2. Here is a typical connection string:

msql system/manager@jdbc:polite:

For the SOA Suite there are three databases: orabpel, oraesb, orawsm. Connecting to the schema that is used by the Oracle BPEL Process Manager is:

  msql system/manager@jdbc:polite:orabpel

Additional:  One thing to keep in mind is that the oraesb password is "any" as opposed to "manager".

March 6, 2008

ASO_QUOTE_PUB.Update_Quote API Error

I have been writing code to utilize the Oracle Quoting API.  While I've run into a number of little road blocks or could I say potholes, I have been able to quickly figure out the problem and continue.  But I came across a problem that vexed me.  When I executed the update_quote call, I would always get the error "Record has been updated".  I tried a lot of variations and did a lot of searching on OTN and Metalink until I came across this the comment below on Metalink.  When you are executing the update_quote, you need to pass the last_update_date along with the quote_header_id or you will always get the error.

Error running the ASO_QUOTE_PUB.Update_Quote API

Problem: Receiving the following error running the ASO_QUOTE_PUB.Update_Quote API. Record has been updated. Please requery to see change. (INFO=quote)
Cause: Error message ASO_API_RECORD_CHANGED is returned If (l_last_update_date <> p_qte_header_rec.last_update_date)
Solution:

Whenever making a call to update quote, query the last_update_date from the database and pass it to p_qte_header_rec. Update quote will throw this warning if p_qte_header_rec.last_update_date doesn't match the last update date in the database.