Custom Search SOABYTE here

Sunday, February 27, 2011

Basic FAQs of SOA Suite 11g

What SOAP versions are supported by Oracle SOA Suite?

Oracle SOA Suite 11g supports both SOAP 1.1 and SOAP 1.2.

What WSDL version does the Oracle SOA Suite support?

Oracle SOA Suite supports WSDL 1.1. You can find more information on supported standards at

How can I change the SOAP version that is exposed by my services?

You need to change the soapVersion property of the WS binding used to expose that service:
·         select the WS binding in JDev
·         select the Property Inspector tab at the bottom of the JDev window
·         In the Bindings section, click on the Properties View button.
·         add or edit the soapVersion attribute and set it to either 1.1 or 1.2

Are change data capture adapters included with SOA Suite license or is an ODI license required?

The CDC adapters are licensed separately from SOA Suite.

What exactly is the Socket Adapter? What kind of socket are we talking about here? A networking socket?

It is a TCP/IP socket adapter, often used to integrate with exotic, older system with no standard API. For instance you could interact with telnet using this adapter.

How hard is it to work with the socket adapter to interact with a custom system?

What is the difference between managed and non-managed mode in JCA Adapter configuration?

In managed mode, the connection information is picked up from the connection factory in WLS. In non-managed mode the connection information configured in wsdl (from jdev) is used. The recommended best practice for production is to use managed mode. Managed mode is a more scalable mode where the connection information is setup once using connection factory and multiple services can reuse it. Non-managed mode is for quick testing.

For a JCA DB Adapter, why do I need to configure connection information twice - once in JDev and again in WLS?

The connection information configured in JDev serves two purposes. It is used during design time to connect to the DB to get the data model so the toplink file can be created (this is the more important of the two purposes). Since this information is already there, it can then be used at runtime (in non-managed mode) to connect to the same DB (for test purpose). However, the DB used to get the data model can be a non-production DB. At runtime connection to a production DB might be required. This is where managed mode comes handy. Hence, the reason to configure connection information (via Connection Factory) in WLS (for managed mode). 

How will I influence the sequence generation for an outbound FileAdapter?

If you're using "eis/FileAdapter" as the JNDI, the FileAdapter stores the sequence numbers in a binary file ("") under the control directory. If you're running the File Adapter with default configuration, the control directory is created under "$FMW_HOME/user_projects/domains/soainfra/fileftp/controlFiles/<Digest>/outbound" where Digest is a SHA-256 digest so that the control directory is unique to the particular composite.
The sequence numbers are stored in the "" in binary form for performance reasons. If you've a binary editor, please feel free to update this file. However, if you do not want to use a binary editor, do the following:
i)  Find the control file being used by the outbound scenario. In order to find the control file, you will need to run the adapter in debug mode and look in the soa diagnostic log for the contrl file. This log statement would start like this: "Digest BaseDir is [control file]". On my setup, this looks like "Digest BaseDir is [/scratch/oracle/fmwhome/user_projects/domains/soainfra/fileftp/controlFiles/+kBt8d4YgJFpd5rWOSyMmZchfEFilru2z2HCGMByUBI=]"
ii) List the directory to see the control file:
iii) Truncate the control file. If you're running Linux, go to the control directory and run ": >" in order to empty the control file.
iv) Create an empty marker file (SEQ_ABS_<nnnn> where 'nnnn' is the sequence number) in the control directory with the sequence number you would like to start from. For example, if you wish to start the sequence from 100, touch SEQ_ABS_99 in the control directory. For the next run, the adapter would start the sequence from from (99 + 1) = 100.
If you simply want to reset the sequence, remove the control file and the sequence number would reset automatically. 
If you're using "eis/HAFileAdapter", then the sequence number is actually maintained in your SOA-INFRA schema as an Oracle SEQUENCE. Usually (though not always), these sequences are generated dynamically with this naming convention: SEQ_<Digest>. You can query the USER_SEQUENCES table to get the sequence info. You can use "ALTER SEQUENCE" command change the increment, minimum and maximum values, cached numbers, and behavior of an existing sequence.

Are both Mediator and OSB strategic moving forward?

Yes, both are strategic. Mediator is a thin layer which allows routing, event delivery and transformation inside of a composite. OSB is a full service bus for endpoint virtualization, enrichment, exposing canonical services, etc.
To summarize:
·         Mediator
·         Main use case: Intra-composite  routing & mediation."impedance matching SCA components"
·         Main audience: Ccomposite builders
·         OSB
·         Main use case: Inter-composite, infrastructure routing & virtualization. Enterprise-wide ESB
·         Main audience: SOA operations

What interaction patterns does Oracle Mediator support?

Mediator supports all different interaction pattern supported by service infrastructure i.e. one-way , request-response-fault, request-callback.

What rule execution types does Oracle Mediator support?

Mediator supports two different rule execution types :
·         Sequential - Execution happens in same thread of caller thread. No dehydration of messages and same transaction spanned across all routing rules.
·         Parallel - Caller thread is released after message dehydration successful. Separate threads used for processing the message. Each parallel routing rule executed in different thread and transaction.
These are named as Synchronous and Asynchronous in 10g but the underlying concept is same.

Does Mediator support filtering or assignment message headers?

Yes, you can do header based filtering as well as set standard and custom header properties for adapters (JMS, AQ ...) and SOAP services through Mediator assign construct or inside XSL transformation. Check samples showing how to do this at

Does Mediator support multi-part messages or binary attachments?

Full support for multi-part messages is included in mediator. Every part of the message can be used for assign , transformation or filtering inside mediator.
Attachment also can be used to pass-through mediator.

What is Error Hospital? Is this out of the box? Do we have to set up the Error Hospital?

Error Hospital is a term we use for Guaranteed and Reliable delivery of messages .Certain pieces of it are provided out of box and others may require custom work to retry a failed message.


Post a Comment

Blogger Profile