Friday 20 July 2018

SOA Interview Quations and Answers


Q1) How to Change SSL Protocol Version of Oracle WebLogic Application Server
This article provides the information about how to disable older SSL protocols such as SSL 3.0 and SSL 2.0 (aka SSLv3 and SSLv2) on both servers and clients (browser settings) and upgrade to TLS1.0, TLS1.1 or TLS1.2.
It is recommended to be on 10.3.6 or 12c releases in order to use JSSE to the fullest potential and because only these versions are eligible for error correction support.  With or without the updates, all versions of WebLogic Server (8.1 and up) allow SSL 2.0 and SSL 3.0 to be disabled with the following parameter at startup as a JAVA_OPTION because TLS 1.0 is minimally supported on all versions:
 -Dweblogic.security.SSL.protocolVersion=TLS1
The interpretation of this property is different depending on whether the Certicom or JSSE implementation is used.
§      For Certicom, setting -Dweblogic.security.SSL.protocolVersion=TLS1 enables only TLS 1.0.
§     For JSSE, setting -Dweblogic.security.SSL.protocolVersion=TLS1 enables any protocol starting with "TLS", for example TLS 1.0, TLS 1.1, and TLS 1.2.
You may also disable older protocols by configuring a higher minimum protocol. For example, if using JDK 7 with JSSE enabled to gain TLS 1.1 and 1.2 support, use the following as a JAVA_OPTION:
-Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.1
Which to use depends on your requirements and support of clients connecting. Some clients may be middleware servers. Not all vendors support TLS 1.1 and up, including some Oracle products and may want to keep TLS 1.0 available for that reason. If using WLS Plugin 12c to proxy to WLS, it supports TLS 1.0, 1.1 and 1.2, but older WLS Plugin versions may only support TLS 1.0.
We can add the above parameters either by using WebLogic Admin Console or using back-end domain level scripts (setDomainEnv.sh|cmd)
Using WebLogic Admin Console:
1).    Log into the WebLogic Administration Console
(Ex:http://AdminServerHost:AdminServerPort/console)
2.    Log in with the weblogic username and password
3.    3. Go to Environment –> Servers -> Click on Server (MS1 or Ms2 etc.) - > Click on Server Start tab and add the below one of the parameter into Arguments section.
 We can use either -Dweblogic.security.SSL.protocolVersion=TLS1
(or) -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.1


(OR)
       Add to JAVA_OPTIONS:
        In setDomainEnv.sh|cmd script add -Dweblogic.security.SSL.protocolVersion=TLS1 at        the end of the first JAVA_OPTIONS variable setting
        Note: setDomainEnv.sh|cmd is located under $Domain_HOME/bin
        Note: The respective servers need to be restart for effecting the changes.
Q2) Test the DataBase availability from WebLogic Server Machine without using Admin Console
The dbping command-line utility tests the connection between a DBMS and your client machine via a JDBC driver. Ensure you have set weblogic.jar in the classpath and have JAVA_HOME set properly before executing the dbping command. run the 'setWLSEnv.sh|cmd' instead of setting the weblogic.jar and JAVA_HOME path.
Run setWLSEnv.sh|cmd
In Linux:
$ . ./setWLSEnv.sh
In Windows:
c/>setWLSenv.cmd
Syntax:
java utils.dbping DB2B [-d dynamicSections] USER PASS HOST:PORT/DBNAME
Usage:
or     java utils.dbping DERBY        USER PASS HOST:PORT/DBNAME
or     java utils.dbping JCONN2       USER PASS HOST:PORT/DBNAME
or     java utils.dbping JCONN3       USER PASS HOST:PORT/DBNAME
or     java utils.dbping JCONNECT     USER PASS HOST:PORT/DBNAME
or     java utils.dbping INFORMIXB    USER PASS HOST:PORT/DBNAME/INFORMIXSERVER
or     java utils.dbping MSSQLSERVERB USER PASS HOST:PORT/[DBNAME]
or     java utils.dbping MYSQL        USER PASS [HOST][:PORT]/[DBNAME]
or     java utils.dbping ORACLEB      USER PASS HOST:PORT/DBNAME
or     java utils.dbping ORACLE_THIN  USER PASS HOST:PORT:DBNAME
or     java utils.dbping POINTBASE    USER PASS HOST[:PORT]/DBNAME
or     java utils.dbping SYBASEB      USER PASS HOST:PORT/DBNAME

Argument
Definition
DBMS
Varies by DBMS and JDBC driver:
DB2B—WebLogic Type 4 JDBC Driver for DB2
JCONN2—Sybase JConnect 5.5 (JDBC 2.0) driver
JCONNECT—Sybase JConnect driver
INFORMIXB—WebLogic Type 4 JDBC Driver for Informix
MSSQLSERVER4—WebLogic jDriver for Microsoft SQL Server
MSSQLSERVERB—WebLogic Type 4 JDBC Driver for Microsoft SQL Server
ORACLE—WebLogic jDriver for Oracle
ORACLEB—WebLogic Type 4 JDBC Driver for Oracle
ORACLE_THIN—Oracle Thin Driver
POINTBASE—PointBase Universal Driver
SYBASEB—WebLogic Type 4 JDBC Driver for Sybase
[-ddynamicSections]
Specifies the number of dynamic sections to create in the DB2 package. This option is for use with the WebLogic Type 4 JDBC Driver for DB2 only.
If the -d option is specified, the driver automatically sets CreateDefaultPackage=true and ReplacePackage=true on the connection and creates a DB2 package with the number of dynamic sections specified.
user
Valid database username for login. Use the same values you use with isql, sqlplus, or other SQL command-line tools.
For DB2 with the -d option, the user must have CREATE PACKAGE privileges on the database.
password
Valid database password for the user. Use the same values you use with isql or sqlplus.
DB
Name and location of the database. Use the following format, depending on which JDBC driver you use:
DB2B—Host:Port/DBName
JCONN2—Host:Port/DBName
JCONNECT—Host:Port/DBName
INFORMIXB—Host:Port/DBName/InformixServer
MSSQLSERVER4—Host:Port/DBName or [DBName@]Host[:Port]
MSSQLSERVERB—Host:Port/DBName
ORACLE—DBName (as listed in tnsnames.ora)
ORACLEB—Host:Port/DBName
ORACLE_THIN—Host:Port/DBName
POINTBASE—Host[:Port]/DBName
SYBASEB—Host:Port/DBName
Where:
Host is the name of the machine hosting the DBMS,
Port is port on the database host where the DBMS is listening for connections, and
DBName is the name of a database on the DBMS.
InformixServer is an Informix-specific environment variable that identifies the Informix DBMS server.
Example
java utils.dbping ORACLE_THIN system oracle dbserver1:1521:xe
**** Success!!! ****
You can connect to the database in your app using:
  java.util.Properties props = new java.util.Properties();
  props.put("user", "system");
  props.put("password", "oracle");
  java.sql.Driver d =
    Class.forName("oracle.jdbc.OracleDriver").newInstance();
  java.sql.Connection conn =
    Driver.connect("jdbc:oracle:thin:@dbserver1:1521:xe", props);

Q3) SOA-INFRA Failed due to "oracle.mds.lcm.exception.MDSLCMException: MDS-00922: The ConnectionManager "oracle.mds.internal.persistence.db.JNDIConnectionManagerImpl" cannot be instantiated. weblogic.common.ResourceException: No good connections available."
soa-infra will not coming to running state and found that the below error in soa-diagnostics.log file.
Error:

oracle.mds.lcm.exception.MDSLCMException: MDS-00922: The ConnectionManager "oracle.mds.internal.persistence.db.JNDIConnectionManagerImpl" cannot be instantiated.
weblogic.common.ResourceException: No good connections available.

The above error tells that The SOA server is unable to establish a connection to the database.

Solution:
Check all the existing data sources are running fine and all are targated to SOA servers.
The list of data sources used by applications deployed to WebLogic Server can be viewed by either connecting to the Weblogic console and navigating to
To verify the state
Services -> JDBC -> Data Sources -> Monitoring
To verify the targets
Services -> JDBC -> Data Sources -> Click on Particular DataSource -> Targets
or in the $ORACLE_BASE/admin/SOA_domain/config/config.xml file.
For each data source there is a separate configuration file located in the $ORACLE_BASE/admin/SOA_domain/config/jdbc folder.
In this my case, the problem was due to the mds-soa data source.
Q4) Configure Weblogic Server SSL Configuration using WLST Script
Save the below mentioned script as .py (sslconfig) file and run it with below command
/u01/app/oracle/product/fmw/wlserver_10.3/common/bin/wlst.sh sslconfig.py
import os,sys

def configSSL(server, domainName, certsPath):
    print "****** SSL Configuration on" + " " + str(server) + " *********"
    cd('/Servers/' + str(server))
    cmo.setCustomIdentityKeyStoreFileName(certsPath + '/' + 'Identity.jks')
    set('CustomIdentityKeyStorePassPhrase', 'welcomeidstore')
    cmo.setCustomTrustKeyStoreFileName(certsPath + '/' + 'Trust.jks')
    set('CustomTrustKeyStorePassPhrase', 'welcometruststore')
    cmo.setKeyStores('CustomIdentityAndCustomTrust')
    cmo.setCustomIdentityKeyStoreType('jks')
    cmo.setCustomTrustKeyStoreType('jks')
    cd('/Servers/' + str(server) +'/SSL/' + str(server))
    cmo.setServerPrivateKeyAlias(domainName)
    set('ServerPrivateKeyPassPhrase', 'welcomekey')
   def main():

    certsPath = "/u01/app/oracle/admin/certs"
     
    if not os.path.exists(certsPath):
        print "Given " + certsPath +  " path is not available "
    else:
        print "Conneting to domainName AdminServer......"
        connect('weblogic','Welcome1','t3://localhost:7001')
      
        domainConfig()
        servers = cmo.getServers()
        print '*********Start SSL Configuration********************'
        edit()
        startEdit()
        for server in servers:
            server = server.getName()
            print "Server Name ", server
            configSSL(server, domainName, certsPath)
            save()
        activate()
        print '*********Completed Start SSL Configuration********************'
        disconnect()

main()
Q5) Script for creating Self Signed Certificates
Linux
Save the below mentioned script as a linux shell script and run it. Identity and Trust stores are created under /u01/app/oracle/admin/certs
#!/bin/sh
domainName="Wldomain"
keytool -genkey -alias ${domainName} -keyalg RSA -keysize 2048 -dname "CN= my.company.com,OU=OFMW,O=MW,L=Brisbane, ST=Queensland, C=AU" -keypass welcomekey -keystore /u01/app/oracle/admin/certs/Identity.jks -storepass welcomeidstore
keytool -export -alias ${domainName} -file /u01/app/oracle/admin/certs/rootCA.cer -keystore /u01/app/oracle/admin/certs/Identity.jks -storepass welcome
keytool -import -alias ${domainName}  -trustcacerts -file /u01/app/oracle/admin/certs/rootCA.cer -keystore /u01/app/oracle/admin/certs/Trust.jks -storepass welcometruststore -noprompt
Windows
Save the below mentioned script as a Windows batch script and run it. Identity and Trust stores are created under /u01/app/oracle/admin/certs
#!/bin/sh
domainName="Wldomain"

keytool -genkey -alias %domainName% -keyalg RSA -keysize 2048 -dname "CN= my.company.com,OU=OFMW,O=MW,L=Brisbane, ST=Queensland, C=AU" -keypass welcomekey -keystore /u01/app/oracle/admin/certs/Identity.jks -storepass welcomeidstore
keytool -export -alias %domainName% -file /u01/app/oracle/admin/certs/rootCA.cer -keystore /u01/app/oracle/admin/certs/Identity.jks -storepass welcome
keytool -import -alias %domainName%  -trustcacerts -file /u01/app/oracle/admin/certs/rootCA.cer -keystore /u01/app/oracle/admin/certs/Trust.jks -storepass welcometruststore -noprompt
Q6) Configuring self-signed certificate on webLogic
Creating self-signed certificate Using keytool
§  Create a directory, for example: $MIDDLEWARE_HOME/keystores
§  Run the following to set the environment
cd /bin
$ . ./setDomainEnv.sh
§  Create a keystore and private key, by executing the following command:
keytool -genkey -alias -keysize 2048 -keyalg RSA -dname -keypass -keystore .jks -storepass
For example:
$MIDDLEWARE_HOME/keystores> keytool -genkey -alias my.company.com -keysize 2048 -keyalg RSA -dname "CN= my.company.com,OU=OFMW,O=MW,L=Brisbane, ST=Queensland, C=AU" -keypass welcome -keystore Identity.jks -storepass welcome
§  Export the root certificate:
$MIDDLEWARE_HOME/keystores> keytool -export -alias -keyalg RSA -file .cer -keystore .jks -storepass
For example:
$MIDDLEWARE_HOME/keystores> keytool -export -alias my.company.com -keyalg RSA -file rootCA.cer -keystore identity.jks -storepass welcome
§  Import the root certificate to the trust store:
$MIDDLEWARE_HOME/keystores> keytool -import -alias -keyalg RSA -trustcacerts -file .cer -keystore .jks -storepass welcome
For example:
$MIDDLEWARE_HOME/keystores> keytool -import -alias my.company.com -keyalg RSA -trustcacerts -file rootCA.cer -keystore trust.jks -storepass welcome
§  To check the contents of the keystore:
$MIDDLEWARE_HOME/keystores> keytool -v -list -keystore .jks -storepass welcome
For example:
$MIDDLEWARE_HOME/keystores> keytool -v -list -keystore identity.jks -storepass welcome
Configure self-signed certificates on WebLogic

§  Login to admin console. (http://localhost:7001/console)
§  Navigate to Environment -> Servers and select the server for which you want to configure the keystore. Click on the Keystores tab in it.
§  Change the keystore to Custom Identity and Custom Trust and enter below details.
Custom Identity Keystore:
Custom Identity Keystore Type: jks
Custom Identity Keystore Passphrase:
Confirm Custom Identity Keystore Passphrase:
Custom Trust Keystore:
Custom Trust Keystore Type: jks
Custom Trust Keystore Passphrase:
Confirm Custom Trust Keystore Passphrase:
§  Go to SSL tab and enter details.
Private Key Alias:
Private Key Passphrase:
Confirm Private Key Passphrase:
§  Go to General tab and check the SSL Listen Port Enabled option to enable ssl. Also specify the SSL Listen Port
Q7) PKIX: Unsupported OID in the AlgorithmIdentifier object
 PKIX: Unsupported OID in the AlgorithmIdentifier object: 1.2.840.113549.1.1.11.>

We are seeing this error on most of the times while starting the servers but it is not effecting the functionality of WebLogic Servers. If you want to remove this error follow the below on of the solution.
Enable SunJSSE Support in WebLogic Server
Login to Weblogic console
Go to [Select your Server] -> SSL -> Advance
Set “Enable JSSE” to true.
Restart your domain completely (including NodeManager)
If you start your domains with a WLST script:
CONFIG_JVM_ARGS=’-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.security.SSL.enableJSSE=true’
If you start your domains with the scripts startWebLogic.sh, startManagedServer.sh, or startNodeManager.sh:
JAVA_OPTIONS=’-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.security.SSL.enableJSSE=true’
8) How to Remove Saved SVN passwords from Eclipse
• Go to the $ECLIPSE_HOME/configuration/org.eclipse.core.runtime and rename “.keyring”.
Ex: -
 $ cd /u01/OEPE/oepe_11.1.1.8.0/configuration/org.eclipse.core.runtime
 $ mv .keyring .keyring_old
  After taking the backup restart your eclipse to effect the changes.
Q8) Access to sensitive attribute in clear text is not allowed due to the setting of ClearTextCredentialAccessEnabled attribute in SecurityConfigurationMBean
Description: - While doing the configurations of SSL to the servers in WebLogic Admin console I have faced the above mentioned error.
Here is the solution for this.
 Solution: - In order to resolving the above issue we were followed the below mentioned steps.
1.       Log into the console
2.       Under "Domain structure", click the name of your domain
3.       Enable the UI for amending configuration
4.       Select the "Security" tab
5.       Expand the "Advanced" tab
6.       Tick "Clear Text Credential Access Enabled"
7.       Click "Save"
8.       Apply changes to the UI configuration
Note: - Restart is not required for the above changes.

Q9) Garbage Collection
What is Garbage Collection?
Garbage collection is the process of automatically detecting memory that is no longer in use, and allowing it to be used again. Java employs garbage collection to free memory that has been used by objects, saving programmers having to explicitly dispose of them.
"Garbage Collection (GC), also known as automatic memory management, is the automatic recycling of heap memory.
Automatic garbage collection is the process of looking at heap memory, identifying which objects are in use and which are not, and deleting the unused objects.
An in use object, or a referenced object, means that some part of your program still maintains a pointer to that object.
An unused object, or unreferenced object, is no longer referenced by any part of your program. So the memory used by an unreferenced object can be reclaimed.
In a programming language like C, allocating and deallocating memory is a manual process. In Java, process of deallocating memory is handled automatically by the garbage collector.
Q10) Standard .out log rotation in WebLogic Server
WebLogic stdout logs rotation
Add the below script to /etc/logrotate.conf
# vim /etc/logrotate.conf
/u01/app/oracle/admin/base_domain/servers/WLS_MS1/logs/*.out
{
rotate 15
size=10Mb
copytruncate
missingok
notifempty
create 754
}
After saving the data run the below command
Note: We need either root or sudo permissions for the above configurations.
# logrotate -f logrotate.conf
Descriptions of all the parameters:
rotate 15                      
# rotates keeps logs for 7 weeks then overwrites.
size=10Mb                   
# rotates log after the size reaches 10mb
copytruncate             
# Copy logfile, then truncate it in place
missingok                    
# tells logrotate not to issue an error if the log file is missing
notifempty                  
# tells logrotate not to rotate a log if it's already empty
create 754 oracle dba
# After rotation, re-create logfile with the specified permissions, owner & group

Q11) How to Take Multiple Thread Dumps using WLST Script
Here is the below script for taking multiple thread dumps using WLST.
import os,sys
serverInst = sys.argv[1]
counter = sys.argv[2]
sleepTime = 5000
loop = 0;
connect(username='weblogic', password='Welcome1', url='t3://localhost:7001')
for loop in range(int(counter)):
 java.lang.Thread.sleep(sleepTime)
 fileName = 'Threaddumps/' + serverInst + '_' + str(java.util.Calendar.getInstance().getTimeInMillis()) + '.dmp'
 threadDump('true', fileName, serverName=serverInst)
disconnect()
After saving it into your local system you have to run the below command to get the thread dumps.
 ./wlst.sh /threadDump.py
Example :
$ ./wlst.sh threadDump.py soa_server1 5
wlst.sh is located at WL_HOME/common/bin

Q12) Supporting SSL Protocols on WebLogic 10.3.6 and 12.x
WebLogic 10.3.6 by default Certicom-based SSL implementation. In the Certicom based implementation WebLogic only supports TLSv 1.0 and SSLv 3.0.
You can enable either TLS V1.1 or TLS V1.2 on WebLogic 10.3.6 for this you have to use JSSE based implementation (for this you have to enable JSSE on server instance).
WebLogic 12.x is having JSSE based implementation by default and it supports TLS V1.0, TLS V1.1, and TLS V1.2.
Enable SunJSSE Support in WebLogic Server
Login to Weblogic console
Go to [Select your Server] -> SSL -> Advance
Set “Enable JSSE” to true.
Restart your domain completely (including NodeManager)
If you start your domains with a WLST script:
CONFIG_JVM_ARGS=’-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.security.SSL.enableJSSE=true’
If you start your domains with the scripts startWebLogic.sh, startManagedServer.sh, or startNodeManager.sh:
JAVA_OPTIONS=’-Dweblogic.ssl.JSSEEnabled=true -Dweblogic.security.SSL.enableJSSE=true’

Q13) WLST Script to Obtain WebLogic Server Status
Step 1:  Set the CLASSPATH by running the setDomainEnv script.
Linux:
$ . $DOMAMIN_HOME/bin/setDomainEnv.sh
Windows:
C:/> %DOMAIN_HOME\bin\setDomainEnv.cmd
Note: - Here DOMAIN_HOME is the location of your domain.
Step2: Save the below script as serverStatus.py on your machine and change the username, password, serverurl and port as matching to your environment.
username = 'weblogic'
password = 'Welcome1'
URL='t3://localhost:7001'
connect(username,password,URL)
domainRuntime()
cd('ServerRuntimes')
servers=domainRuntimeService.getServerRuntimes()
for server in servers:
print'SERVER NAME :',server.getName();
print'SERVER STATE :',server.getState()
print'SERVER LISTEN ADDRESS :',server.getListenAddress()
print'SERVER LISTEN PORT :',server.getListenPort()
print'SERVER HEALTH STATE :',server.getHealthState()
Step3: Run the script using the below command
> wlst.cmd D:\serverStatus.py
Here is the sample output
SERVER NAME : AdminServer
SERVER STATE : RUNNING
SERVER LISTEN ADDRESS : localhost/127.0.0.1
SERVER LISTEN PORT : 7001
SERVER HEALTH STATE : Component:ServerRuntime,State:HEALTH_OK,MBean:AdminServer,ReasonCode:[]

Q14) BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word
1.       Open system-auth file with root user.
vi /etc/pam.d/system-auth
2.       Look for the following two lines:
password    requisite     pam_cracklib.so try_first_pass retry=3
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
3.       Comment out the first of the two lines:
#password    requisite     pam_cracklib.so try_first_pass retry=3
4.       Remove use_authtok on the second line. Otherwise you’ll get “passwd: Authentication information cannot be recovered” error.
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass
5.       That’s it. Try changing your password again.

Q15) In 12c how to disable auto recovery option at recovery config and also at composite level but still auto retry is happening.
Go to EM-> Right click on soa-infra -> SOA Administartion -> BPEL Properties ->Click on More Advanced BPEL Properties -> Click on recoveryConfig
Change the value maxMessageRaiseSize to 0 & the start and end times to 00:00
(You might need to restart the server)

Q16) : WebLogic Clustering in Remote Boxes
Many times we face Security related issues/SSL Handshake related issues/ Domain Salt Not found/ Node Manager Unreachable….. kind of issues after creating a Domain which spreads across many physical boxes…so This Post demonstrates that what all things we should always take care …while creating Clustered Setup…or Remote Box Managed Servers….
Step1). Install WebLogic in Box-A and Box-B in the same directory structure (Directory structure/Weblogic Installation path Must be same as the Installation Path in the AdminServer Box to Avoid Many issues…Please refer to : http://forums.oracle.com/forums/thread.jspa?messageID=4243582).
Box-A   Suppose IP Address is : 1.1.1.1
Box-B   Suppose IP Address is : 2.2.2.2
Step2). Create a Domain (MyDomainOne) in Box-A then Start the AdminServer (suppose port is 7001 for Admin) of that newly created Domain.
Step3). Open Admin Console http://1.1.1.1:7001/console
Step4). Create 2 Managed Servers MS1 And MS2.
MS1 Listen Port: 7003
MS1 Listen Address: 1.1.1.1 (Example address you can assign your actual address of Box-A)
MS2 Listen Port: 7003
MS2 Listen Address: 2.2.2.2 (Example address you can assign your actual address of Box-B)
Step5). From Admin Console Create A machine:
Machine-A
Nodemanager Listen Address: 1.1.1.1
Nodemanager ListenPort: 5556
Machine-B
Nodemanager Listen Address: 2.2.2.2
Nodemanager ListenPort: 5556
Step6). Now start Nodemanager in Box-A then see in the Admin Console
Home –>Summary of Machines –>Machine-A –>Monitoring
Make sure that the Nodemanager Status is : Reachable
Steps For BOX-B (Second Managed Server Box)
Step7). Paste the Domain from Box-A to Box-B in the Same Location where it is available in Box-A (Location of Domain Directory should be identical in Box-A and Box-B)
Suppose the location of domain was : “/opt/apps/bea103/user_projects/MyDomainOne” , then in All the Managed Server Boxes you should have the same directory structure.
Better if you use “Pack/Unpack” weblogic utility to do this. By doing this you can ensure that you will never get invalid (domain salt file not found) Or Many Security & SSL Handshake related errors kind of error while starting your ManagedServer remotely. (for detail of Pack/Unpack commands) http://download.oracle.com/docs/cd/E13179_01/common/docs92/pack/commands.html#wp1068441
Step8). Open a Shell/command prompt in Box-B and then run setWLSEnv.sh/setWLSEnv.cmd
Then Enroll the Nodemanager using WLST comma
http://download-llnw.oracle.com/docs/cd/E15051_01/wls/docs103/nodemgr/nodemgr_config.html#wp1100844
Syntax: nmEnroll([domainDir], [nmHome])
java weblogic.WLST
 connect('weblogic','weblogic','t3://1.1.1.1:7001')
nmEnroll('/opt/apps/bea103/user_projects/MyDomainOne','/opt/apps/bea103/wlserver_10.3/common/nodemager')
Above command will Enroll the Nodemanager of Box-B in Domain (MyDomainOne) created in Box-A
Step9). Start Nodemanager in Box-B
Step10). Login to AdminConsole of Box-A and then check that the Machine-2 Nodemanager is showing “reachable” or “incative”…Ideally Now it should be ‘Reachable’
Step11). Login to AdminConsole and Now Create a Cluster and add these both Managed Servers In that Cluster.
Step12). Now start Both Managed Servers through AdminConsole.
16Q) Improve performance within SOA UAT/PRD environment.
Navigation: Login Weblogic admin consoleà Environments-> servers-> soa_ms01 click on that and go to->Configuration->General->Server Start then copy and paste below JVM Parameters under Arguments table
INSTALLATION PLAN (High Level Steps)
 The following parameters and values for the same (as suggested by the apps team) are to be added in the JVM startup scripts to the SOA servers, :  prd-ofmw-101 & prd-ofmw-102

JVM Parameter                                             From               To
Dweblogic.http.client.defaultReadTimeout          Currently not set.             410000 (milliseconds)
Dweblogic.http.client.defaultConnectTimeout    Currently not set.             410000 (milliseconds)
DHTTPClient.socket.readTimeout                             Currently not set.           410000 (milliseconds)
DHTTPClient.socket.connectionTimeout         Currently not set.    410000 (milliseconds)
Navigation for update DataSource database connection properties:- Login Weblogic admin console-> Services->Datasource->click  any datasource-> Configuration->Connection Pool à and update below properties under Properties Tab…
For All DataSource database connection properties:


DataSource database connection property                   From                      To
oracle.jdbc.ReadTimeout                                 Currently not set.      420000 (milliseconds)
oracle.net.CONNECT_TIMEOUT             10000 (no change )            10000 (milliseconds) ( no change)
Note: Restart the Servers so that the new settings are used.
1. What is a Service in SOA?
In the real world, a service is what we pay for and we get the intended service.
Example 1 (from Real World): You go to a restaurant and order food. Your order first goes to the counter and then it goes to the kitchen where the food is prepared and finally the waiter serves the food.
So in order to order an item from a restaurant you need three logical departments / services to work together (counter, kitchen, and waiter).
In the same manner in software world, these services are termed as business services.
Example 2 (from Software World): You go to Amazon to order a book. Different services like payment gateway, stock system, and delivery system come together to achieve your task.
All the services are self contained and logical. They are like black boxes. In short we do not need to understand the internal details of how the business service works. For the external world it’s just a black box which takes messages and serves accordingly. For instance the ‘payment gateway’ business service takes the message ‘check credit’ and gives out output: does the customer have credit or not. For the ‘order system’ business service ‘payment gateway’ service is a black box.

Following are the main characteristics of services in SOA:
A) SOA components are loosely coupled. When we say loosely coupled that means every service is self-contained and exists alone logically. For instance we take the ‘payment gateway’ service and attach it to a different system.
B) SOA services are black boxes. In SOA, services hide there inner complexities. They only interact using messages and send services depending on those messages. By visualizing services as black boxes, services become more loosely coupled.
C) SOA service should be self defined: SOA services should be able to define themselves.
D) SOA services are maintained in a listing: SOA services are maintained in a central repository. Applications can search the services in the central repository and use them accordingly.
E) SOA services can be orchestrated and linked to achieve a particular functionality: SOA services can be used/orchestrated in a plug and play manner. For instance, the figure ‘Orchestration’ shows two services ‘Security service’ and ‘Order processing service’. You can achieve two types of orchestrations from it: one you can check the user first and then process the order, or vice-versa. Yes, you guessed right, using SOA we can manage a workflow between services in a loosely coupled fashion.

3. What is SOA?
SOA stands for Service Oriented Architecture. SOA is an architecture for building business applications using loosely coupled services which act like black boxes and can be orchestrated to achieve a specific functionality by linking together.


4. What are Contract, Address, and Bindings?
These three terminologies on which SOA service stands. Every service must expose one or more ends by which the service can be available to the client. End consists of three important things where, what and how:-
Contract is an agreement between two or more parties. It defines the protocol how client should communicate with your service. Technically, it describes parameters and return values for a method.
An Address indicates where we can find this service. Address is a URL, which points to the location of the service.
Bindings determine how this end can be accessed. It determines how communications is done. For instance, you expose your service, which can be accessed using SOAP over HTTP or BINARY over TCP. So for each of these communications medium two bindings will be created.
5. Are web-services SOA?
SOA is a thinking, it’s an architectural concept, and web service is one of the technical approaches to complete it. Web services are the preferred standards to achieve SOA.
In SOA we need services to be loosely coupled. A web service communicates using the SOAP protocol which is XML based, which is very loosely coupled. It answers the what part of the service.
SOA services should be able to describe themselves. WSDL describes how we can access the service.
SOA services are located in a directory. UDDI describes where we can get the web service. This is nothing but the implementation of the SOA registry.
6. What are the main benefits of SOA?
SOA helps create greater alignment between IT and line of business while generating more flexibility – IT flexibility to support greater business flexibility. Your business processes are changing faster and faster and global competition requires the flexibility that SOA can provide.
SOA can help you get better reuse out of your existing IT investments as well as the new services you’re developing today. SOA makes integration of your IT investments easier by making use of well-defined interfaces between services. SOA also provides an architectural model for integrating business partners’, customers’ and suppliers’ services into an enterprise’s business processes. This reduces cost and improves customer satisfaction


7. What is a reusable Service?
It is an autonomous, reusable, discoverable, stateless functionality that has the necessary granularity, and can be part of a composite application or a composite service.
A reusable service should be identified with a business activity described by the service specifications (design-time contract).
A service’s constraints, including security, QoS, SLA, usage policies, may be defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the code).
A reusable service should be governed at the enterprise level throughout its entire lifecycle, from design-time through run-time. Its reuse should be promoted through a prescriptive process, and that reuse should be measured.
8. Talking about Service identification, which approach between top-down and bottom-up methodologies encourages re-use and maintenance?
Since the top-down approach is business-driven it can be practical to separate the different concerns of business and IT on different plans, providing a common ground in between. So in most situations it the most appropriate if you want to improve reuse and ROI in the medium/long term.
One strategy for achieving loose coupling is to use the service interface (the WSDL for a SOAP Web Service) to limit this dependency, hiding the service implementation from the consumer. Loose coupling can be addressed by encapsulating the service functionalities in a manner that limits the impact of changes to the implementation on the service interface. However, at some point you will need to change the interface and manage versioning without impacting service consumers, in addition to managing multiple security constraints, multiple transports, and other considerations

10. Do you recall any pattern which could be used to leverage loose coupling?
The Mediation pattern, using an enterprise service bus (ESB), will help in achieving this.
Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS).
Architecturally speaking this means the separation of concerns between consumers and providers on the transport, message type, and message format levels.
11. The Service of a SOA should be engineered as stateless or stateful?
Service should be stateless. It may have a context within its stateless execution, but it will not have an intermediary state waiting for an event or a call-back. The retention of state-related data must not extend beyond a request/response on a service. This is because state management consumes a lot of resources, and this can affect the scalability and availability that are required for a reusable service.
12. What is composition of a Service?
Composition is the process by which services are combined to produce composite applications or composite services. A composite application consists of the aggregation of services to produce an enterprise portal or enterprise process. A composite service consists of an aggregation of services that produces another reusable service. It’s just like combining electronic components to create a computer motherboard, and then using that motherboard in a computer. Think of the motherboard as a reusable composite service that is a component of the computer, and of the computer as the composite application.
13. How do I integrate my Legacy applications with SOA?

Legacy applications are frequently at the core of your IT environment. With the right skills and tools, you need to identify discrete elements within your legacy applications and “wrap” them in standards-based interfaces and use them as services within your SOA.

14. How does the ESB fits in this picture?
The Enterprise Service Bus is a core element of any SOA. ESBs provide the “any to any” connectivity between services within your own company, and beyond your business to connect to your trading partners. But SOA does not stop at just implementing an ESB. Depending on what your goals are, you may want to use an ESB to connect other services within your SOA such as information services, interaction services and business process management services. Additionally, you will need to consider development services and IT service management services. The SOA reference architecture can help you lay out an SOA environment that meets your needs and priorities. The ESB is part of this reference architecture and provides the backbone of an SOA but it should not be considered an SOA by itself.

15. In SOA do we need to build systems from scratch?

No. If you need to integrate or make an existing system as a business service, you just need to create loosely coupled wrappers which will wrap your custom systems and expose the systems functionality in a generic fashion to the external world.

16. What’s the difference between services and components?

Services are logical grouping of components to achieve business functionality. Components are implementation approaches to make a service. The components can be in JAVA, C#, C++ but the services will be exposed in a general format like Web Services.

17. The concept of SOA is nothing new, however why everyone started to talk about SOA only in the recent years?
Yes, I agree the basic concepts of SOA aren’t new, however some technology technology changes in the last 10 years made service-oriented architecture more practical and applicable to more organizations than it was previously. Among this:
1. Universally-accepted industry standards such as XML, its many variants, and Web-services standards have contributed to the renewed interest in SOA.
2. Data governance frameworks, which are important to a successful SOA implementation, have well test and refined over the years.
3. A variety of enabling technologies and tools (e.g., modeling, development, infrastructure/middleware, management, and testing) have matured.
4. Understanding of business and business strategies has grown, shifting attention from technology to the people, cultural changes, and process that are key business success factors.
18. What is the most important skill you need to adopt SOA? Technical or Cultural?
Surely cultural. SOA does require people to think of business and technology differently. Instead of thinking of technology first (e.g., If we implement this system, what kinds of things can we do with it?), practitioners must first think in terms of business functions, or services (e.g., My company does these business functions, so how can I set up my IT system to do those things for me most efficiently?).It is expected that adoption of SOA will change business IT departments, creating service-oriented (instead of technology-oriented) IT organizations.
19. What are the main obstacles in the way of SOA?
1. Shortage of skills.
2. Justifying the ROI of SOA projects.


20. Can I buy an SOA or must I build one?
To move your organization toward greater service orientation, you need to take a balanced approach to building versus buying. To create the infrastructure for an SOA, you’ll need the right commercial off-the-shelf software that complements (rather than replaces) your existing IT infrastructure. This is a “buy” statement. On the “build” side, you may also choose to access know-how and hands-on involvement to use these software products effectively and get the most out of them. This infrastructure and the associated tools can help you create the business services that run on your SOA. Again, there is some “building” associated with this. So the real answer is that you need a certain measure of both building and buying.

21. Do I need SOA Governance to get started?
A key aspect of successful SOA implementations is having business involved in the effort from the beginning. One of the values from SOA you can gain is improved Business/IT Alignment. SOA Governance supplies the decision rights, processes, and policies for business and IT to work together. After a service is deployed, there must be management aspects in place to control and monitor the service. You do not need a lot of SOA Governance to get started, but enough to work with the level of Smart SOA you are implementing.

22. What are SOA Entry Points?
To get started quickly with SOA, you need to select an initial project that focuses on a particular business opportunity that can be completed in a reasonably short time frame. The SOA Entry points are project areas that have been shown to provide business value in a timely manner. Each Entry Point provides a key SOA related solution:
People – collaboration improving productivity by giving employees and partners the ability to create a personalized, consolidated way to interact with others.
Process – optimize and deploy processes on the fly and monitor the effectiveness of the altered processes.
Information – improve business insight and reduce risk by using trusted information services delivered in line and in context.
Reuse – newly created and reusable services are the building blocks of SOA. Reuse gives users flexibility through reduced cycle time and elimination of duplicate processes.
Connectivity – although, in the past, connectivity has been a requirement, SOA brings new levels of flexibility to these linkages. The connectivity provided by SOA has distinct value on its own and as a building block for additional SOA initiatives.
23. What are the common pitfalls of SOA?
One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who focus on building an SOA solution rather than solving a specific business problem are more likely to create complex, unmanageable, and unnecessary interconnections between IT resources.
Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the problem. Taking a top-down approach—starting with major organization-wide infrastructure investments—often fails either to show results in a relevant time-frame or to offer a compelling return on investment.

24. Is SOA really needed on your opinion?
SOA is not for everyone. While SOA delivers significant benefits and cost savings, SOA does require disciplined enforcement of centralized governance principals to be successful. For some organizations, the cost of developing and enforcing these principals may be higher than the benefits realized, and therefore not a sound initiative.

25..What is the basic life cycle of a SOA composite application?
Use Oracle JDeveloper to design a SOA composite application with various SOA components.
Package the composite application for deployment.
Deploy the SOA composite application to the SOA Infrastructure. The SOA Infrastructure is a Java EE-compliant application running in Oracle WebLogic Server. The application manages composites and their life cycle, service engines, and binding components.
Use Oracle Enterprise Manager Fusion Middleware Control to monitor and manage the composite application for a farm’s SOA infrastructure.

26..What is the Service Component Architecture (SCA) used for?
Service Component Architecture (SCA) assembly model abstracts the implementation and allows assembly of components, with little implementation details. SCA enables you to represent business logic as reusable service components that can be easily integrated into any SCA-compliant application. The resulting application is known as a SOA composite application. The specification for the SCA standard is maintained by the Organization for the Advancement of Structured Information Standards (OASIS).

27..What is the purpose of Service Data Objects (SDO)?
Service Data Objects (SDO) provides a data programming architecture. It provides a standardized view on data, and provides efficient transportation, as well as change capture, in form of a change summary. More specifically, it collects a data graph of related business objects, called DataObjects. This graph tracks the schema that describes the DataObjects. Knowledge is not required about how to access a particular back-end data source to use SDO in a SOA composite application. Consequently, you can use static or dynamic programming styles and obtain connected and disconnected access.
28..What is the purpose of Business Process Execution Language (BPEL)?
BPEL provides enterprises with an industry standard for business process orchestration and execution. Using BPEL, you design a business process that integrates a series of discrete services into an end-to-end process flow. This integration reduces process cost and complexity.

29..What is the purpose of XSL Transformations?
XSLT processes XML documents and transforms document data from one XML schema to another.
30..What is the purpose of Java Connector Architecture?
Java Connector Architecture JCA provides a Java technology solution to the problem of connectivity between the many application servers in Enterprise Information Systems (EIS).

31..What is the purpose of Java Messaging Service?
(JMS) provides a messaging standard that allows application components based on the Java Enterprise Edition (JEE) to access business logic distributed among heterogeneous systems.
32..What is the purpose of Web Service Description Language?
Web Service Description Language (WSDL) file provides a standardized view on the capabilities of a service. Bindings provide the entry points into the composite at runtime.

33..What is the purpose of SOAP over HTTP?
SOAP provides the default network protocol for message delivery.

34..What are the components comprise an Oracle SOA Suite installation?
The following components comprise an Oracle SOA Suite installation:
Service Infrastructure
Oracle Mediator
Oracle Adapters
Business Events and Events Delivery Network
Oracle Metadata Repository
Oracle Business Rules
Oracle WSM Policy Manager
Oracle BPEL Process Manager (Business Process Execution Language)
Human Workflow
Oracle Business Activity Monitoring
Oracle User Messaging Service
Oracle B2B
Oracle JDeveloper
Oracle Enterprise Manager
The following components are included with Oracle SOA Suite, but available as a separate download:
Oracle Service Bus (provides service virtualization and protocol transformations for oracle SOA appl)
Oracle Complex Event Processing
35..What is the purpose of Oracle Mediator?
Oracle mediator is used for route, validate, filter and transform data from service providers to external partners.
Route: Determines the service component (BPEL process, business rule, human task, and mediator) to which to send the messages.
Validate: Provides support for validating the incoming message payload by using a schematron or an XSD file.
Filter: If specified in the rules, applies a filter expression that specifies the contents (payload) of a message be analyzed before any service is invoked.
Transformation: If specified in the rules, transforms document data from one XML schema to another, thus enabling data interchange among applications using different schemas.
36.What is the purpose of Oracle Service Bus?
Oracle Service Bus provides standalone service bus capabilities, enabling separation between application developers and target systems or services. Oracle Service Bus receives messages through a transport protocol such as HTTP(S), JMS, File, and
FTP, and sends messages through the same or a different transport protocol. Service response messages follow the inverse path. Oracle Service Bus handles the deployment, management, mediation, messaging, security and governance of implementing SOA to enterprise applications.
37..What is the purpose of Oracle Adapters?
Oracle Adapters use JCA (Java Connector Architecture) technology to connect external systems to the Oracle SOA Suite. Oracle SOA Suite provides the following technology adapters to integrate with transport protocols, data stores, and messaging middleware:
BAM
FTP
Java Messaging Service (JMS)
Advanced Queuing (AQ)
Files
Message Queuing (MQ) Series
Legacy Adapters
Application Adapters
38..What is the purpose of Business events?
Business events are messages sent as the result of an occurrence or situation, such as a new order or completion of an order. In Oracle SOA Suite, the mediator service component subscribes or publishes events. When an event is published, other applications can subscribe to it.
39..What is Oracle Metadata Repository ?
Oracle Metadata Repository MDS stores business events, rulesets for use by Oracle Business Rules, XSLT files for Oracle Service Bus and Oracle Mediator, XSD XML schema files for Oracle BPEL Process Manager, WSDL files, and metadata files for Complex Event Processing.
40..What is Oracle Business rules used for?
Oracle Business Rules, initiated by a BPEL process service component, enable dynamic decisions at runtime. In addition, the human task and mediator service components can make use of rules for dynamic routing.
41..What is the purpose of Oracle WSM Policy Manager?
Oracle WSM Policy Manager provides the infrastructure for enforcing global security and auditing policies in the Service Infrastructure
1)      What is SOA [Service-Oriented Architecture]?
SOA is an IT architecture strategy for business solution (and infrastructure solution) delivery based on the concept of service-orientation. It is a set of components which can be invoked, and whose interface descriptions can be published and discovered. It aims at building systems that are extensible, flexible and fit with legacy systems. It promotes the re-use of basic components called services.
2)      Why we need Oracle SOA Suite?
Service is the important concept. Services can be published, discovered and used in a technology neutral, standard form by the set of protocols of the web services. Other than being just architecture, SOA is the policies, practices, and frameworks by which it is ensure the right services are provided and consumed. It becomes critical to implement processes that ensure that there are at least two different and separate processes— one for provider and the other for consumer, using SOA. The Business Service Bus is starting point for developers that guide them to a coherent set that has been assembled for their domain. This is better than leaving developers to discover individual services and put them into context
3)  What are the Challenges faced in SOA adoption ?
One of the challenges faced by SOA is managing services metadata. Second biggest challenge is the lack of testing in SOA space. Another challenge is providing appropriate levels of security. Interoperability is another important aspect in the SOA implementations. Vendor hype concerns SOA because it can create expectations that may not be fulfilled.
4) What is SOA governance? What are its functions?
A) Service-Oriented Architecture (SOA) governance is a concept used for activities related to exercising control over services in an SOA Some key activities that are often mentioned as being part of SOA governance are:
    Managing the portfolio of services: This includes planning development of new services and updating current services.
    Managing the service lifecycle: This is meant to ensure that updates of services do not disturb current services to the consumers.
    Using policies to restrict behavior: Consistency of services can be ensured by having the rules applied to all the created services.
    Monitoring performance of services: The consequences of service downtime or under-performance can be severe because of service composition. Therefore action can be taken instantly when a problem occurs by monitoring service performance and availability.
5) Business Benefits of Service-Oriented Architecture?
 A) SOA can help businesses respond more quickly and economically to changing market conditions. SOA can be considered an architectural evolution. It captures many of the best practices of previous software architectures. The goal of separating users from the service implementations is promoted by SOA. The goals like increased interoperability, increased federation and increased business & technology domain alignment can be achieved by SOA due to its architectural and design discipline. SOA is an architectural approach for constructing complex software-intensive systems from services. SOA realizes its business and IT benefits through utilizing an analysis and design methodology when creating services.
6) IT Benefits of Service-Oriented Architecture?
A) IT benefits of SOA are:
    The ability to build composite applications is provided.
    Business services are offered across thvided
    Provides truly real-time decision-making applications.
    Reliability is enhanced
    It is not necessary that Services be at a particular system or network
    The approach is completely loosely coupled
    Hardware acquisition costs are reduced
    At every level there’s Authentication and authorization support
    Existing development skills are leveraged
    Provides a data bridge between incompatible technologies
    The search and connectivity to other services is dynamic
7) SOA Processes: Short and Long Running Processes?
A) http://careerride.com/SOA-Processes.aspx
8) Explain about Web service?
Web service is type of software system which is used for exchange the data and use information from one machine to another machine through network. Generally Web services based on the standards such as TCP/IP, HTTP, Java, HTML and XML. Web services are pure xml based which is used for exchange information through Internet to direct application to application interaction. These systems include programs, objects, messages or documents. Many software applications written in various programming languages and running on various platforms can use web services to exchange data over computer network. You can develop Java-based web services on Solaris and that is accessible from your V.B Program that runs on windows.
9) Difference between Oracle SOA 10g and Oracle SOA 11g?
 There are so many changes in oracle soa 11g when compared to oracle soa 10g in business and technically and some new functionality added In Oracle SOA 11g contains Service Component Architecture where as Oracle SOA 10g having no Service Component Architecture.
ORACLE SOA Suite 10g is based on Oracle AS 10g It uses Oracle Application Server 10.1.x OC4J Sun JVM Repository tool irca to create the SOA 10g repository Managed with Application Server Console Oracle SOA Suite 11g is based on Oracle FMW 11g It uses the Oracle Weblogic server 10gR3 Sun or JRockit JVM Repository Creation Utility (RCU) to create or delete the SOA 11g repository Weblogic server console used for managing.
Oracle SOA 11g all the SOA Components of Project deployed into Single Server whereas 10g each component is deployed into particular server.
In SOA 10g having ESB Console, BPEL Console, Application Server Control these are all individual and not well integrated. In SOA 11g Provides service monitoring across all SOA Components Such as ESB, BPEL, and Human Workflow SOA suite 11 g has the Enterprise Management Console the EM console is used for Manage SOA Suite Services, Manage SOA Suite Deployment, Review Logs and Exceptions. SOA Suite 11g Components Oracle Adapters Oracle Mediator Business Events and Events Delivery Network Oracle Business Rules Human Workflow Oracle Business Activity Monitoring Oracle Enterprise Manager.
10. What is a SOA composite?
 SOA composite provides a coarsely-grained service for a business application, which processes messages in xml format. The composite application defines an assembly model stored in SCA descriptor file called composite.xml that may contain
SOA 11g Admin - Increasing Database Connection Values
You can receive the following error message because of slow connections to the database.
Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.1.0) (Build
090304)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Internal error: Cannot obtain
XAConnection weblogic.common.resourcepool.ResourceDeadException: Pool
SOADataSource has been disabled because of hanging connection tests, cannot
allocate resources to applications.
If this occurs, perform the following steps:
Open the DOMAIN_HOME\bin\setSOADomainEnv.cmd file.
Uncomment the lines shown in bold.
# 8331492: Value of weblogic.resourcepool.max_test_wait_secs is 10
# seconds. It can be increased by uncommenting line below if your database
# connections are slow. See SOA documentation for more details.
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
-Dweblogic.resourcepool.max_test_wait_secs=30"
export EXTRA_JAVA_PROPERTIES
SOA 11g Admin - Resolving Connection Timeouts
You can receive a connection timeout error under circumstances such as the following:
You run a SOA composite application with a large payload that takes more than 30 seconds to process.
You are invoking a stress test using a large payload from the Test Web Service page of Oracle Enterprise Manager Fusion Middleware Control.
You are passing a large number of message files (one million) into a composite with a file adapter service.
You are retrieving instance and fault count metrics in Oracle Enterprise Manager Fusion Middleware Control.
To avoid receiving timeout errors, increase the transaction timeout property as follows:
Log into Oracle Web Logic Administration Console.
Click JTA.
Change the value of Timeout Seconds (the default is 30).
Click Save.
Restart Oracle Web Logic Server
SOA 11g Admin - Resolving Message Failure Caused by Too Many Open Files

You can receive the following error at runtime or compilation time, depending on the number of JAR files being used, the use of file descriptors by JDK 6/JRE, or both.
Message send failed: Too many open files
To resolve this error, increase the number of file descriptors to at least 4096.


Use the limit command (for the C shell) or the ulimit command (for the Bash shell) to identify the value for descriptors. A value of 1024 is typically too low, especially for JDK 6.
% limit
 cputime      unlimited
 filesize     unlimited
 datasize     unlimited
 stacksize    10240 kbytes
 coredumpsize unlimited
 memoryuse    unlimited
 vmemoryuse   unlimited
 descriptors  1024
 memorylocked 500000 kbytes
 maxproc      46720

Log in as the root user on your operating system.

Edit the /etc/security/limits.conf file to increase the value for descriptors.
For this example, the limits.conf file appears as follows after increasing the limit for all users to 4096:
#               
#

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4

# End of file
@svrgroup    soft    memlock         500000
@svrgroup    hard    memlock         500000
*           soft    nofile          4096
*           hard    nofile          4096
Close your terminal and reopen for the change to take effect. A system restart is not required.
SOA 11g Admin - Common Issues
1) Limitation on Using the Safari Browser to View WSDL File Content
If you are using the Safari browser, note the following limitation and workaround for viewing WSDL file contents in Oracle Enterprise Manager Fusion Middleware Control. Note also that Mozilla Firefox works correctly and does not require this workaround.
Go to the home page for a SOA composite application.
Click the Show WSDL and endpoint URI link at the top of the page.
Click the WSDL link that is displayed.
This opens a blank page that does not display the contents of the selected WSDL.
As a workaround, perform the following additional steps.
In the upper right corner of this page, click the Display a menu for the current page icon.
Select View Source from the menu that is displayed.
This displays the contents of the selected WSDL in another page.
2) Flow Diagram Does Not Display the First Time on Some Lower End Hosts
The flow diagram for an instance ID of a deployed SOA composite application in Oracle Enterprise Manager Fusion Middleware Control may not display the first time on some lower end hosts. Instead, you receive a failed to load resource message.
As a workaround, close the flow trace page and click the instance ID to return to the flow trace page.
SOA 11g - EM console performance issues
Scenario and Symptoms:
The BPEL Engine Audit level is set to Development.
The BPEL engine is load tested with some huge number of transactions causing to generate large number of instances in the dehydration store (SOAINFRA Schema)

Below activities in EM console take time:
1.       EM Login Page Load time
2.       Time taken for logging in to the EM
3.       Time taken to render homepage for SOAINFRA
4.       Expanding the SOAINFRA and each partition within
5.       Time taken to render home page for each deployed composite
6.       Time taken to render details for each instance of any deployed composite
Cause:
Large number of instances in the dehydration store with audit level set to Development. When you login to EM console it tries to load the large amounts of instance and fault data from database leading to slowing up the EM console response time.
Solution:
Improving the Loading of Pages in Oracle Enterprise Manager Fusion Middleware Control Console
You can improve the loading of pages that display large amounts of instance and fault data in Oracle Enterprise Manager Fusion Middleware Control Console by setting two properties in the Display Data Counts section of the SOA Infrastructure Common Properties page.
These two properties enable you to perform the following:
Disable the fetching of instance and fault count data to improve loading times for the following pages:
Dashboard pages of the SOA Infrastructure, SOA composite applications, service engines, and service components
Delete with Options: Instances dialog
These settings disable the loading of all metrics information upon page load. For example, on the Dashboard page for the SOA Infrastructure, the values that typically appear in the Running and Total fields in the Recent Composite Instances section and the Instances column of the Deployed Composites section are replaced with links. When these values are large, it can take time to load this page and other pages with similar information.
Specify a default time period that is used as part of the search criteria for retrieving recent instances and faults for display on the following pages:
Dashboard pages and Instances pages of the SOA Infrastructure, SOA composite applications, service engines, and service components
Dashboard pages of services and references
Faults and Rejected Messages pages of the SOA Infrastructure, SOA composite applications, services, and references Faults pages of service engines and service components

SOA 11g - BPEL Tables and Dehydration store information

BPEL dehydration store:
The Dehydration Store database is used to store process status data, especially for asynchronous BPEL processes.
Key BPEL tables:
Table
Contents
CUBE_INSTANCE: Stores the instance header information: domain, creation date, state (completed, running, stale, canceled), priority, title, and so on
CUBE_SCOPE: Stores the state of the instance, (variable values and so on)
AUDIT_TRAIL: Audit trail information for an instance. This information can be viewed from BPEL Console.
AUDIT_DETAILS: Large detailed audit information about a process instance
DLV_MESSAGE: Callback message metadata
DLV_MESSAGE_BIN: Payload of callback messages
INVOKE_MESSAGE: Invocation messages metadata
INVOKE_MESSAGE_BIN: Payload of invocation messages
DLV_SUBSCRIPTION: Delivery subscriptions for an instance
TASK: Tasks created for an instance (i.e. title, assignee, status, expiration)

SOA 11g - SOA Admin Interview Questions

1.      How to know the Managed Servers status, when admin console is not available?
2.      What is the performance issue in weblogic and how can you resolve, explain in brief?
3.      What is the Digital Certificate? How do we generate a Digital Certificate?
4.      What is Thread Dump? What is the UNIX command to take Thread Dumps?
5.      What is a cluster? What is High Availability and Fail over?
6.      How to handle out of memory in weblogic and if server is getting more requests then what we have to do in production environment?
7.      What is clustering? How do weblogic instances communicate in a clustered environment? In a cluster, if one of the servers has an issue and it is not accessible, will the other servers know about it and how?
8.      What are the roles you have played and what are the day today activities?
9.      WHAT IS TROUBLE SHOOTING IN WEBLOGIC?
10. How to integrate apache webserver with weblogic server? What is the purpose of integrating both?
11. Define the different groups of Users?
12. What are the different thread queues?
13. How will you analyze if a page responds slowly?       
14. What is Work manager? Explain briefly?
15. What are the different types of drivers?
16. What are the various types of log files?
17. What are you commonly used fine tuning commands?
18. What is Session replication? What are the different types of Session Replications?
19. What happens if we change config.xml while server is running?
20. What is HTTP tunneling?
21. What is asynchronous communication? Is there any synchronous communication in JMS?
22. How to find Weblogic Version?
23. What is the use of log4j?
24. What is Work manager?
25. What is virtual host?
26. What is eden size and perm size?
27. What is Weblogic shrink?
28. What is diff b/w JNDI and JDBC?
29. What are the different types of drivers?
30. What driver you are using?
31. What is diff b/w unicast and multicast?
32. When core dump will not be created even if the server crashed?
33. Can we change the heart beat interval?
34. What are the various types of log files?
35. What is WorkManager?
36. What is Multicast IP Address? What are the things done by it? How to
test multicast IP?
37. How to check whether the cluster multicast adress is available or not?
What is the command to check in UNIX environment?
38. What is Virtual Host in Weblogic, how to create it & what is the
advantage ?
39. How can you find the jdbc version on server side?
40. What you do to close the connections automatically in JDBC?
41. What are the things that we take care under Database fine tuning apart
from increasing or decreasing connections?
42. What is MBean, how many types are there?
43. How to restart proxy?
44. Reasons for server crash?
45. Reasons for servers hang?
46. What is the thread hogging?
47. Various garbage collection algorithms?
48. How to find whether the PORT No is free or not?
49. What is the command to find CPU utilization?
50. What is the command to find version of Unix?
51. How to find CPU utilization? What if top command doesn’t work?
52. What are you commonly used fine tuning commands?
53. What is the difference between webservers and Proxy server?
54. How to sort the files?
55. What is Session replication? What are the different types of Session Replications?
56. Which IP segment will you use for Multicasting?
57. Is it possible to manage multiple domains through a single weblogic
admin console?
58. What happens if we change config.xml while server is running?
1. Define relation between Oracle SOA Suite and Weblogic.

2. Functional differences between Fusion EM console and WLS Admin console.

3. List some key Fusion Middleware 11g products and their usage in brief.

4. Define key components/building blocks/basic architecture of Oracle SOA Suite.

5. Explain concept of domains, admin, managed server in Weblogic.

6. Difference between Weblogic Development and Production mode.

7. Explain Node Manager in Weblogic.

8. Key functionality of Nodemanager.

9. What are the different types of nodemanager?

10. What is the default port number of nodemanager?

11. Mention the path for Nodemanager home.

12. Explain some properties present in nodemanager.properties file.

13. Is Nodemanager setup mandatory in a standalone WLS installation?

14. Is nodemanager setup mandatory in a clustered WLS environment? If not what are the demerits.

15. Explain the functionalities of Node manager in a clustered WLS environment.

16. Explain the term managed Server Independence mode.

17. Can I start a managed server even if Admin server is down?

18. Can I make configurationally changes to managed server if admin server is down?

19. Explain significance of admin server in a WLS domain.

20. Why do you think Oracle recommends not deploying applications to Admin server in production environments?

21. Explain different ways of starting or stopping WLS Admin/managed server.

22. What is config.xml? Where can I find it?

23. You deployed a faulty code to Admin server which brought it down. You are not able to restart it. How would you undeploy the faulty piece of code then?

24. How do I clear cache for a WLS managed/Admin server?

25. What is meant by data source?

26. Explain how would you tune a data source and apply some best practices to it.

27. Explain difference between multicast and unicast IP.

28. Explain hardware requirement for a WLS 2 node cluster.

29. How do you configure OHS/Apache web server for a 2 node WLS cluster?

30. What is the role of mds in ofmw?

31. What are the main components of ofmw and their usage in brief?

32. Explain the procedure for installation of ofmw components in a cluster environment?

33. What is a SOA composite?

34. Path of the server related log files

35. What is synchronus and asynchronous process in BPEL

36. Basic commands in solaris like checking the CPU usage RAM consumption

37. Basic questions on database

38. List the various adapters used

39. What is SOA, Oracle SOA suite, BPEL, ESB?

40. Designer for Business process

41. Difference between BPEL and ESB

42. Transactions and fault (exception) management

43. Run time components of SOA

44. Calling external web service

45. Calling asynch BPEL process within empty BPEL process

46. Combination of ESB and BPEL and third party web services

47. Java embedding

48. BPEL and OSB console

49. Adapter - concepts, integration, life-cycle mgmt., translation errors

50. Oracle E-Biz adapter and capturing event from oracle ERP

51. Fine tuning BPEL process

52. Deployment framework

53. Business rules and AIA

54. Email notification and rejection handler

55. Patches and installation - UNIX based and windows based

56. External resource management (example MQ shared library and third party jar files)

57. JMS and connection pools

58. Transformation and iteration

59. Which are the areas you think Oracle SOA fits perfectly

[Answer - EAI with real-time data transfer, need heavy data communication with rich business logic, Oracle ERP in existing environment]


60. Loose coupling and control at central point (orchestration vs. choreography)

UNIX Commands Part 1: File Maintenance tools

Log in to the UNIX-like operating system of your choice to get started. When you log in, you should automatically start in your user's home directory. The examples use the tuser (Test User) username.

man: man stands for manual;

$ man ls

ls:

$ ls
$ ls -l
$ ls -a
$ ls -R

cd:

$ cd Documents
$ cd /tmp
$ cd /home/tuser

Special directory names

$ cd ..
$ cd ~

pwd:

$ pwd

mkdir, rmdir:

$ mkdir TUTORIAL
$ cd TUTORIAL
$ pwd
$ ls

$ cd ~/TUTORIAL
$ pwd

Directory layout:

/home (or /users)
/etc
/bin
/sbin
/usr
/car
/tmp

Files -

touch:

$ cd ~/TUTORIAL
$ touch example.txt

cp:

$ cp example.txt /tmp/
$ ls /tmp/

$ cp /tmp/example.txt ./example2.txt
$ ls

mv:

$ mv example2.txt /tmp/.

rm:

$ rm /tmp/example.txt
$ rm /tmp/example2.txt
$ ls /tmp/

Ownership and permissions

chown, chgrp:

$ man chown
$ man chgrp

$ chown tuser example.txt
$ chgrp admin example.txt

chmod:

$ ls -l
-rw-r--r--1 tuser admin 0 Aug 13 15:35 example.txt
----------1 tuser admin 0 Aug 13 15:35 example.txt

A file that has all permissions turned on reads this way:

-rwxrwxrwx 1 tuser admin 0 Aug 13 15:35 example.txt

$ man chmod
$ chmod og-r example.txt
$ ls -l

You should see this result:
-rw-------1 tuser admin 0 Aug 13 15:35 example.txt

Dealing with multiple files  -

$ cp example.txt example2.txt
$ cp example.txt script.sh
$ ls *.txt
$ ls exa*

Recursion:

$ cd ~
$ cp -R TUTORIAL /tmp/.
$ ls /tmp/TUTORIAL/
$ rm -R /tmp/TUTORIAL/
$ ls /tmp/

Archives and compression -

tar:

$ cd ~
$ tar cvf /tmp/tutorial.tar TUTORIAL
$ ls /tmp/

$ ls
$ tar cvf tutorial
$ ls

$ rm -R /tmp/TUTORIAL

gzip:

$ gzip tutorial.tar
$ ls

$ gzip -d tutorial.tar.gz

The file system and file sizes:

df:

$ df -h
$ ls -lh

du:

$ cd ~
$ du -sk *

$ du -sh *

mount:

$ mount -t iso9660 /dev/cdrom /mnt/cdrom
$ df
$ ls /mnt/cdrom

umount:

$ umount /mnt/cdrom
$ df
$ ls /mnt/cdrom

Redirection
$ cd ~/TUTORIAL
$ ls > listing.txt
$ ls

cat:

$ cat listing.txt

more:

$ ls /etc/ > listing2.txt

$ cat listing2.txt
$ more listing2.txt

head and tail:

$ head listing2.txt
$ tail listing2.txt
$ head -n 2 listing2.txt

grep:
$ grep host listing2.txt
pipe:

$ ls /etc/ | grep host
$ du -sh /etc/* | more

Weblogic Admin Interview Questions-Part 3

1. What is domain in WLS ? how to create a domain in WLS ?
2. What is CONFIG.XML ?
3. What is cluster and how to create a cluster in WLS ? how to configure cluster in webserver / PROXY ? tell complete configuration ?

4. What kind of PROXY u are using in your project ?

5. What is SSL and how to provide security ? what is certificate ?

6. What is one way SSL and two way ssl ?

7. How to generate certificates ? where you can store certificates ?

8. What is THREAD DUMP , why thread dump is necessary in which scenario we will be taking thread dump ?

9. How do u take thread dump ?

10. What is performance tuning ? how do u tune the performance step by step procedure ? ANS : tell from OS Lever to Our Application Level

11. What is HEAP and how to increase it ?

12. What is OOM problem / memory leak , how to overcome this problem ?

13. Complete trouble shooting steps ?

14. How to provide the security in proxy ?

15. Can you create Admin Server and managed servers in a single machine ?

16. Project architecture ? which architecture you are using ? (DMZ)

17. Which JVM you used ?

18. What is HS_ERR_PID<>.log

19. What is server log ?

20. How to provide JDBC log ?

21. How view log files in linux ?

22. Recovering admin password ?

23. How to open a file in UNIX ?

24. What certificate chaining ?

25. Session stickness ?

26. What is the use of multi cast ID ?

27. What will be there in Access Log ?

28. What is the use of boot.properties file ?

29. JMS ?

30. Connection pooling and how to create connection pool ?

31. Which performance tool you are using for monitoring the performance WLS ?

32. How to verify the network performance in any OS ?

33. Application is working but the DB is not supporting what kind of exception u will get ?

34. How to deploy an application through command line ?

35. How to check CPU utilization in UNIX ?(top)

36. How to check the disk space in UNIX ? (df –k)

37. What is node manager and what is use of it ?

38. What is garbage collection ?

39. What are the variables of the HEAP SIZE ?

40. What is head and tail command ?

41. What is Certificate Signature Request ?

42. What is the default port of the node manager ?

43. How do u find the port number is used by some the other server ?

44. What are the deployment stages ?

45. tesstart command ?

46. what is the role of JNDI ?

47. what is difference static and dynamic deployment ?

48. how do u know which thread is executing and how much time it will take ?

49. How do u give the prevalization to users and groups in UNIX?

50. Url Rewriting in weblogic?

51. What is VMSTAT command in sun Solaris?

52. How do you find port numbers in Linux?

53. What is the use of netstat command?

54. Daily activities?

55. How do u monitoring the CPU Utilization?(top or sar)

Ans: # sar -u 12 5 ` Where,-u 12 5: Comparison of CPU utilization; 12 seconds apart; 5 time

57. How the sar command shows the out put?

58. Questions on SSL(Complete)?

59. Did u attend any calls with u r clients?

60. What are Handling Disaster Recovery and Failover activities?

61. What are the things you did if the database server fails?

62. From where you are getting the trail certificates?

63. How much size you for the key generation?

64. HOW we configure SSL in proxy?

65. How we view the log files?

66. Which tool you are using for building an application?

67. What is your admin level? (L2)

68. Can we create two admin servers in a single domain?

69. What are the disadvantages of connection pooling?

70. Could you explain folder structure in bea?

71. How can we verify file size in Linux?(du –sh)

72. Why connection pooling?

73. What are the difference between authentication and authorization?

74. What are the role, user and principle?

75. Why clustering in weblogic?

76. Did you prepare any documentation as solved the any problem?

77. If you don’t have any work what can you do at that time?

78. How many machines are using in your project?

79. Can you explain your project flow? How it takes requests and give response to the clients?

80. How to generate jdbc log files?

81. If config.xml file is lost at runtime what is the solution to run the application successfully?

82. Explain different deployment stages in weblogic?
Weblogic Admin Interview Questions-Part 2
1.      How to know the Managed Servers status, when admin console is not available?
2.      What is the performance issue in weblogic and how can you resolve, explain in brief?
3.      What is the Digital Certificate? How do we generate a Digital Certificate? 
4.      What is Thread Dump? What is the UNIX command to take Thread Dumps?
5.      What is a cluster? What is High Availability and Fail over?
6.      How to handle out of memory in weblogic and if server is getting more requests then what we have to do in production environment?
7.      What is clustering? How do weblogic instances communicate in a clustered environment? In a cluster, if one of the servers has an issue and it is not accessible, will the other servers know about it and how?
8.      What are the roles you have played and what are the day today activities?
9.      WHAT IS TROUBLE SHOOTING IN WEBLOGIC?
10. How to integrate apache webserver with weblogic server? What is the purpose of integrating both?
11. Define the different groups of Users?
12. What are the different thread queues?
13. How will you analyze if a page responds slowly?        
14. What is Work manager? Explain briefly?
15. What are the different types of drivers?
16. What are the various types of log files?
17. What are you commonly used fine tuning commands?
18. What is Session replication? What are the different types of Session Replications?
19. What happens if we change config.xml while server is running?
20. What is HTTP tunneling?
21. What is asynchronous communication? Is there any synchronous communication in JMS?
22. How to find Weblogic Version?
23. What is the use of log4j?
24. What is Work manager?
25. What is virtual host?
26. What is eden size and perm size?
27. What is Weblogic shrink?
28. What is diff b/w JNDI and JDBC?
29. What are the different types of drivers?
30. What driver you are using?
31. What is diff b/w unicast and multicast?
32. When core dump will not be created even if the server crashed?
33. Can we change the heart beat interval?
34. What are the various types of log files?
35. What is WorkManager?
36. What is Multicast IP Address? What are the things done by it? How to
test multicast IP?
37. How to check whether the cluster multicast adress is available or not?
What is the command to check in UNIX environment?
38. What is Virtual Host in Weblogic, how to create it & what is the
advantage ?
39. How can you find the jdbc version on server side?
40. What you do to close the connections automatically in JDBC?
41. What are the things that we take care under Database fine tuning apart
from increasing or decreasing connections?
42. What is MBean, how many types are there?
43. How to restart proxy?
44. Reasons for server crash?
45. Reasons for servers hang?
46. What is the thread hogging?
47. Various garbage collection algorithms?
48. How to find whether the PORT No is free or not?
49. What is the command to find CPU utilization?
50. What is the command to find version of Unix?
51. How to find CPU utilization? What if top command doesn’t work?
52. What are you commonly used fine tuning commands?
53. What is the difference between webservers and Proxy server?
54. How to sort the files?
55. What is Session replication? What are the different types of Session Replications?
56. Which IP segment will you use for Multicasting?
57. Is it possible to manage multiple domains through a single weblogic
admin console?
58. What happens if we change config.xml while server is running?
Weblogic Admin Interview Questions-Part 1
1. What is the default HTTP Port?
2. What is the difference between production mode and development mode?
What is weblogic domain and what are the different servers?
How do you find the version of WL Server?
What is the default Weblogic Admin console port number?
Which of the following statements is NOT True?
a)     Managed Servers in a Domain must run the same version of Weblogic Server
b)     A Domain comprises only the Admin Server, only the Managed Server, or the   
        Administration and Managed Servers
c)     The Admin Server stores the configuration information and logs for a domain
d)     The Admin Server in a domain must run the same or higher version of WLS as the MS in the domain.
7.      Which of the following statements is NOT True?
a)     There can be multiple clusters in a domain
b)     All the servers in a cluster must be at the same version level
c)     All the server in a cluster must also be in the same domain
d)     A cluster can span multiple domains.
8.      The Admin Console is unavailable if the Admin Server is Shut Down.
a)     TRUE                     b)   FALSE
9.      Which of the following statement is true?
a)     There is one Node Manager for each Machine
b)     There is one Node Manager for each Domain
c)     There is one Node Manager for each Cluster
10. Oracle Weblogic Server 10.3 is certified with JDK 1.6?
a)     TRUE                     b)   FALSE
11. Net installer is preferred over the package installer if you want to install select components using only the custom option and have access to the Internet.
a)     TRUE                     b)   FALSE
12. How do you set up class path?
13. How to start Web logic Admin Server?
14. How many ways you can install weblogic?
15. How many domains you can create?
16. What weblogic utils contains?
17. Can we disable admin console?
18. Difference between Weblogic server and Web server?
19. What happens when we give www.abc.com in URL (what is process)?
20. Is Managed server can be restarted independently when admin is down?
21.  What is the difference between JNDI & JDBC?
22.  Difference between versions 8.X, 9.X, 10.X?
23.  What is the Connection Pool? How to create a Connection Pool?
24.  What is Domain? How many domains are possible in a single instance?
25.  What is DataSource? How can it is associated with connection pools ?
26.  Are WebLogic Servers password secure?      
27.  Do you require JDK/JRE for installing a WL Domain?
28.  What is the basic requirement for starting a WebLogic server?
29.  What is the major difference between Managed Server and Admin Server?
30.  When starting the managed server it is coming to admin state. Click on resume button in admin Console, so that is coming to running state. How to resolve this problem for ever so that the server will come directly to running state instead of going to admin state?
31.  In which file/script we need to change the heap size? What is the variable name to search to change the heap size
32.  Where can we set Classpath, which will reflect to whole domain?
33.  What is MSI mode?
34.  How to find the heap memory of Managed Server?
35.  What happen if we deploy our component in weblogic server? What are the States?
36.  What is WLS T3 protocol?
37.  What is Node Manager and why it is required?
38.  How would you check the weblogic instance whether the server is started or not?
39.  Specify some important jar files in the weblogic server
40. How does the WLST communicate with WLS to retrieve and update resources on a running server?

SOA 11g - Configure Sending Email Notifications

One of the ways of the SOA Suite 11g for communicating with the outside world – apart of course from web service calls and interaction via technology adapters – is through the new User Messaging Service (UMS), a facility installed in the SOA Domain during installation of the SOA Suite. The UMS enables two-way communication between users (real people) and deployed applications. The communication can be via various channels, including Email, Instant Messaging (IM or Chat), SMS and Voice. UMS is used from several components in Fusion Middleware, for example BPEL, Human Workflow, BAM and WebCenter and can also be used from custom developed applications.

Prerequisites:

Before you can apply this article, you need to have installed the SOA Suite 11g, configured the SOA Domain and have the AdminServer and the SOA Server running. You also need access to the Oracle Enterprise Manager Fusion Middleware Control Console.

Step 1: Configure the UMS Email Driver

The User Messaging Service comes with a number of drivers that each handle traffic for a specific channel. One of the drivers controls the email channel. This driver needs to be configured with the properties of the Mail Server and the email account from which emails are sent.

Go to the Oracle Enterprise Manager Fusion Middleware Control Console (typically http://hostname:7001/em) and open the User Messaging Service node. From the drop down menu in the right hand pane, select the option Email Driver Properties:



The properties that need to be configured for sending emails are indicated in the red rectangle. They are:

·         OutgoingMailServer –  (Get in touch with the messaging team in your organization)

·         OutgoingMailServerPort – (Get in touch with the messaging team in your organization)

·         OutgoingMailServerSecurity – (Get in touch with the messaging team in your organization)

·         OutgoingDefaultFromAddress – (put anything you like.)

·         OutgoingUsername –  (Get in touch with the messaging team in your organization)

·         OutgoingPassword –  (Get in touch with the messaging team in your organization)



Press Apply.

Step 2: Configure the SOA Suite Workflow Notification properties

To make sure that (email) notifications are really sent to the email server, we also need to adjust a setting for the SOA Suite Workflow Notification. Navigate to the properties form via the dropdown menu for SOA Infrastructure, under SOA Administration:



The Workflow Notification Properties are shown. Only one is really important at this point: the Notification Mode (default value is None) must be set to either All or Email, otherwise any notification is not really sent onwards by the SOA Suite to UMS!
Click on Apply

Now restart the SOA Managed Server. If you don’t restart the managed server the email notification doesn’t work!
SOA 11g - Config and Log Files Location

The intent of this note is to list the important configuration and log files used to diagnose SOA 11g problems.

Throughout this note we will refer to the following:
- $ MIDDLEWARE_HOME =
- $ DOMAIN_HOME = $ MIDDLEWARE_HOME/user_projects/domains/
Here is a list of files to look for:
1.Domain configuration under $DOMAIN_HOME/config  directory
   - Config.xml
   - jdbc/-Jdbc.xml
   - jms/-Jms.xml files under

2. Adapter configuration under $MIDDLEWARE_HOME//soa/connectors/   directory. ( Oracle_SOA1 is the default name)
  - AppsAdapter.rar
  - DbAdapter.rar
  - FtpAdapter.rar
  - MQSeriesAdapter.rar
  - SocketAdapter.rar
  - AqAdapter.rar
  - FileAdapter.rar
  - JmsAdapter.rar
  - OracleBamAdapter.rar
3. Admin Server log files under $DOMAIN_HOME/servers//logs  directory
 - Access.log
 - -Diagnostic.log
 - .log
4. SOA Server log files under $DOMAIN_HOME/servers//logs  directory
 - . log
  - -Diagnostic.log
  - .log 
system-jazn-data.xml : Security issues issues
Symptoms:
You are unable to deploy SOA composites due to permission problem.
When a manged server was stopped you are no longer able to start it.
The Admin console shows the server state as 'FAILED_NOT_RESTARTABLE' and the following exception is seen in the server log:
java.security.AccessControlException: access denied (oracle.security.jps.service.credstore.CredentialAccessPermission context=SYSTEM,mapName=SOA,keyName=KeystorePassword read)
Cause:
Check of the system-jazn-data.xml shows that it is missing all preseeded roles such as SOAAdmin
Location : DOMAIN_HOME/config/fmwconfig
Solution:
Copy system-jazn-data.xml from a working installation into non-working installation.
Below will be error's u can see in front end logn, b2bconsole and soa composer
Different ways to take thread dumps in Weblogic Server

From OS
========
kill -3 2>&1
From weblogic.wlst:
======================
setDomain.cmd or setDomain.sh depending on the OS
java weblogic.WLST
connect("","","t3://:")
threadDump()

From Command line
==================
setDomain.cmd or setDomain.sh depending on the OS
java weblogic.Admin : -username -password THREAD_DUMP
From JRockit
=============
jstack or jstack -l to print additional information about locks
jrcmd print_threads
jcmd Thread.print
From Admin Console also we can take thread dump
Enabling Memory Dumps
Stop all SOA Services  Using Admin Console
cd $DOMAIN_HOME/bin
Take backup of setSOADomainEnv.sh
cp setSOADomainEnv.sh setSOADomainEnv.sh.bkp
Before:
 ==================================================================

cat setSOADomainEnv.sh | grep PORT_MEM_ARGS
PORT_MEM_ARGS="-Xms1024m -Xmx2048m"
  PORT_MEM_ARGS="${PORT_MEM_ARGS} -XX:PermSize=1024m -XX:MaxPermSize=1024m"
    USER_MEM_ARGS=${PORT_MEM_ARGS}
    USER_MEM_ARGS="-d64 ${PORT_MEM_ARGS}"
       USER_MEM_ARGS="${PORT_MEM_ARGS}"
       USER_MEM_ARGS=${PORT_MEM_ARGS}
    USER_MEM_ARGS="-d64 ${PORT_MEM_ARGS}"

After:
===================================================================
 cat setSOADomainEnv.sh | grep PORT_MEM_ARGS
 PORT_MEM_ARGS="-Xms1024m -Xmx2048m"
   PORT_MEM_ARGS="${PORT_MEM_ARGS} -XX:PermSize=1024m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/ud2004/dump"
     USER_MEM_ARGS=${PORT_MEM_ARGS}
     USER_MEM_ARGS="-d64 ${PORT_MEM_ARGS}"
        USER_MEM_ARGS="${PORT_MEM_ARGS}"
        USER_MEM_ARGS=${PORT_MEM_ARGS}
     USER_MEM_ARGS="-d64 ${PORT_MEM_ARGS}"
Start All SOA Services and perform health check.
Weblogic Learning Plan
Connection Pool Closed
If You found following error in Admin Server Log
 
Solution
Increase Max Connection parameter for reported "Data Source(EbsAppsDS)"and bounce admin server
Configure SOA Suite 11g for sending email notifications
One of the ways of the SOA Suite 11g for communicating with the outside world – apart of course from web service calls and interaction via technology adapters – is through the new User Messaging Service (UMS), a facility installed in the SOA Domain during installation of the SOA Suite. The UMS enables two-way communication between users (real people) and deployed applications. The communication can be via various channels, including Email, Instant Messaging (IM or Chat), SMS and Voice. UMS is used from several components in Fusion Middleware, for example BPEL, Human Workflow, BAM and WebCenter and can also be used from custom developed applications.
Prerequisites
Before you can apply this article, you need to have installed the SOA Suite 11g, configured the SOA Domain and have the AdminServer and the SOA Server running. You also need access to the Oracle Enterprise Manager Fusion Middleware Control Console.
Step 1: Configure the UMS Email Driver
The User Messaging Service comes with a number of drivers that each handle traffic for a specific channel. One of the drivers controls the email channel. This driver needs to be configured with the properties of the Mail Server and the email account from which emails are sent.

Go to the Oracle Enterprise Manager Fusion Middleware Control Console (typically http://hostname:8100/em) and open the User Messaging Service node. From the drop down menu in the right hand pane, select the option Email Driver Properties:

The properties that need to be configured for sending emails are indicated in the red rectangle. They are:
·         OutgoingMailServer –  (Get in touch with the messaging team in your organization)
·         OutgoingMailServerPort – (Get in touch with the messaging team in your organization)
·         OutgoingMailServerSecurity – (Get in touch with the messaging team in your organization)
·         OutgoingDefaultFromAddress – stgsoa3@inetmail.emrsn.net (stgsoa3 is my instance name. you can put any thing you like.)
·         OutgoingUsername –  (Get in touch with the messaging team in your organization)
·         OutgoingPassword –  (Get in touch with the messaging team in your organization)


Press Apply.
 Step 2: Configure the SOA Suite Workflow Notification properties
To make sure that (email) notifications are really sent to the email server, we also need to adjust a setting for the SOA Suite Workflow Notification. Navigate to the properties form via the dropdown menu for SOA Infrastructure, under SOA Administration:


The Workflow Notification Properties are shown. Only one is really important at this point: the Notification Mode (default value is None) must be set to either All or Email, otherwise any notification is not really sent onwards by the SOA Suite to UMS!


Click on Apply

Now restart the SOA Managed Server. If you don’t restart the managed server the email notification doesn’t work!
Ask developers to test if sending emails works.
1. Setting syncMaxWaitTime:
This property controls the maximum time the process result receiver will wait for a result before returning for Sync processes.
For SOA 11g R1 PS1 (11.1.1.1.0 to 11.1.1.5):
* Login into EM
* Expand SOA and right click on "soa-infra" and select: SOA Administration -> BPEL Properties
* Click on "More BPEL Configuration Properties..." link
* Locate syncMaxWaitTime and change it.


-- Alternative Method -- For SOA 11g R1 (11.1.1.1.0) ONLY:
* Take backup of bpel-config.xml, located at: /user_projects/domains//config/soa-infra/configuration/.
* Open the bpel-config.xml file.
* Edit the value for the syncMaxWaitTime property.
* Save the changes.
* Restart Oracle WebLogic Server.

Note: Since 11.1.1.2, bpel-config.xml is no longer available into the file system and therefore the only chance for modification is through EM Console.
2. Setting the transaction timeout for BPEL EJBs:
The timeout properties for the EJBs control the particular timeout setting for the SOA application, overriding the global setting specified by the JTA timeout (See step 3).
Note: Prior implement next steps, ensure to shutdown SOA managed server. Otherwise you will get errors, see following document for details Note 1271369.1
* Log into Oracle WebLogic Administration Console.
* Click Deployments.
* Expand soa-infra -> EJBs.
* Following EJBs need to be updated:
BPELActivityManagerBean
BPELDeliveryBean
BPELDispatcherBean
BPELEngineBean
BPELFinderBean
BPELInstanceManagerBean
BPELProcessManagerBean
BPELSensorValuesBean
BPELServerManagerBean
* You can change the parameter in the Configuration tab for the Transaction Timeout setting.
* Click Save.
* Save the Plan.xml to some known location
* Start SOA Managed Server
3. Setting the global transaction timeout at Weblogic Domain Level:
This property controls the transaction timeout seconds for active transactions. If the transaction is still in the "active" state after this time, it is automatically rolled back.
   * Log into Oracle WebLogic Administration Console.
   * Click Services -> JTA.
   * Change the value of Timeout Seconds (the default is 30).
   * Click Save.
   * Restart Oracle WebLogic Server.
How to Check Fusion Middleware and WebLogic Component Versions
Applies to:
Oracle Fusion Middleware - Version: 11.1.1.1.0 to 11.1.1.5.0 - Release: to Oracle11g
Information in this document applies to any platform.
Goal
This document describes how to determine the versions of installed Fusion Middleware Components and Weblogic Server.

Note:
Fusion Middleware components including WebLogic Server, RCU, and components such as SOA, Identity Management, Portal-Forms-Reports-Discover, and JDeveloper must have concordant versions. This affects configuration, but not installation, and can cause a variety of failures, including ClassDefNotFound exceptions when trying to configure a new domain or managed server.
1. To determine the WebLogic Server version. There are several ways to confirm the version:
 Enter this command with the weblogic environment enabled:
$ java weblogic.version
Look in the file Middleware Home/registry.xml, and note the component tag
The exact WLS version can be checked using the following commands:
On Unix:
cat $MW_HOME/wlserver_10.3/.product.properties | grep WLS_PRODUCT_VERSION
On Windows:
type %MW_HOME%\wlserver_10.3\.product.properties | findstr WLS_PRODUCT_VERSION
Use SmartUpdate to check the Product Version:
On Unix:
$MW_HOME/utils/bsu/bsu.sh -view -status=applied -prod_dir=$MW_HOME/wlserver_10.3 | grep ProductVersion
On Windows:
%MW_HOME%\utils\bsu\bsu.sh -view -status=applied -prod_dir=$MW_HOME\wlserver_10.3 | findstr ProductVersion
You should see a result such as this:
ProductVersion: 10.3 MP5
2. For JDeveloper, look in the Middleware Home/registry.xml file for the following:
3. For Fusion Middleware products, use the command Oracle Home/Opatch/opatch lsinventory and note the output:
Installed Top-level Products (2):
Application Server 11g SOA Patchset 11.1.1.3.0
Oracle SOA Suite 11g 11.1.1.2.0
There are 2 products installed in this Oracle Home.
4. For the MDS version, look in the file RCU Home/rcu/log/logdir./mds.log:
REPOS_VERSION CONSTANT VARCHAR2(32) := '11.1.1.56.27' (this is for 11.1.1.3)
To get the schema version from the database, login to the database as sysdba and enter the command as shown (example here for 11.1.1.3):
SQL> select comp_id, comp_name, version from schema_version_registry;
COMP_ID
------------------------------
COMP_NAME
--------------------------------------------------------------------------------
VERSION
------------------------------
IAU
Audit Service
11.1.1.3.0
MDS
Metadata Services
11.1.1.2.0

OID
Oracle Internet Directory
11.1.1.3.0
OIF
Oracle Identity Federation Database Schema
11.1.1.2.0
ORAESS
Enterprise Scheduler Service
11.1.1.2.0
ORASDPLS
SIP Infrastructure Location Service
11.1.1.2.0
ORASDPSDS
SIP Infrastructure Subscriber Data Service
11.1.1.2.0
ORASDPXDMS
Presence
11.1.1.2.0
8 rows selected.
You can also get the schema prefix from the database using the following command:
SQL> select username, created from dba_users order by 2;
USERNAME CREATED
------------------------------ ---------
OE 12-MAY-10
SH 12-MAY-10
BI 12-MAY-10
PM 12-MAY-10
TEST01_MDS 21-JAN-11
TEST01_IAU 21-JAN-11
TEST01_IAU_APPEND 21-JAN-11
TEST01_IAU_VIEWER 21-JAN-11
TEST01_ORAESS 21-JAN-11
ODS 21-JAN-11
ODSSM 21-JAN-11

USERNAME CREATED
------------------------------ ---------
TEST01_OIF 21-JAN-11
TEST01_ORASDPXDMS 21-JAN-11
TEST01_ORASDPLS 21-JAN-11
TEST01_ORASDPSDS 21-JAN-11
Understanding Out of Memory (OOM) in Weblogic
As Fusion or Weblogic  Admin one is supposed to encounter Out of Memory (OOM )issues now and then. Why talk about Fusion or Weblogic admins this issue can be encountered on multiple products like the Oracle Applications EBS, Hyperion, OTM, Oracle Application server and many other products .What seems common across all these products is the use of Application server.  All the above mentioned products use some or the other application server over which the applications are deployed.

For example the latest Oracle SOA Suite 11g uses Weblogic 10.3 Application Server while EBS Release 12 uses Oracle Application Server 10g. The point I am trying to make is the Out of Memory issue is not product specific but is related to Application Servers running Oracle-Sun JVMs. Application servers like Oracle Weblogic, IBM Websphere and Oracle Application Server facilitate running Java Virtual Machines on which the Java Applications can be deployed and executed. Out of memory issue is related to filled up space issues in these JVMs which makes it generic across all the above mentioned application servers.
Before understanding OOM let’s first understand the memory used by the JVM. The Java Virtual Machine (JVM) has the following types of memory:
 Heap memory is the runtime data area from which memory for all class instances and arrays is allocated
Non-heap memory includes the method area and memory required for the internal processing or optimization of the JVM. It stores per-class structures such as a runtime constant pool, field and method data, and the code for methods and constructors.
Native memory is the virtual memory managed by the operating system.
When the above mentioned memory is insufficient for a deployed application, a java.lang.OutOfMemoryError is thrown. There will be different error messages for OutOfMemoryErrors in each type of memory. They are listed below:
-          Heap memory error. When an application creates a new object but the heap does not have sufficient space and cannot be expanded further, an OutOfMemoryError will be thrown with the following error message:
java.lang.OutOfMemoryError: Java heap space
-          Non-heap memory error:When the permanent generation is full, the application will fail to load a class or to allocate an interned string, and an OutOfMemoryError will be thrown with the following error message:
java.lang.OutOfMemoryError: PermGen space

-          Native memory error: The Java Native Interface (JNI) code or the native library of an application and the JVM implementation allocate memory from the native heap. An OutOfMemoryError will be thrown when an allocation in the native heap fails. For example, the following error message indicates insufficient swap space, which could be caused by a configuration issue in the operating system or by another process in the system that is consuming much of the memory:
java.lang.OutOfMemoryError: request bytes for .
Out of swap space?
After having understood the OOM issue the question is why would the code encounter an OOM at all. This could be for more than one reason.
An insufficient memory problem could be due
1.       Either to a problem with the configuration ie the application really needs that much memory
2.       Or to a performance problem in the application that requires you to profile and optimize to reduce the memory use. Configuring memory settings and profiling an application to reduce the memory use are beyond the scope of this post and I would cover them in my forth coming posts.
The issues are mentioned below:
a.       Memory Leaks
The JVM is responsible for automatic memory management, which reclaims the unused memory for the application. However, if an application keeps a reference to an object that it no longer needs, the object cannot be garbage collected and will occupy space in the heap until the object is removed. Such unintentional object retention is referred to as a memory leak. If the application leaks large amounts of memory, it will eventually run out of memory, and an OutOfMemoryError will be thrown. In addition, garbage collection may take place more frequently as the application attempts to free up space, thus causing the application to slow down.

b.      Finalizers
Another possible cause of an OutOfMemoryError is the excessive use of finalizers. The java.lang.Object class has a protected method called finalize. A class can override this finalize method to dispose of system resources or to perform cleanup before an object of that class is reclaimed by garbage collection. The finalize method that can be invoked for an object is called a finalizer of that object. There is no guarantee when a finalizer will be run or that it will be run at all. An object that has a finalizer will not be garbage collected until its finalizer is run. Thus, objects that are pending for finalization will retain memory even though the objects are no longer referenced by the application, and this could lead to a problem similar to a memory leak.
c.       Deadlocks
A deadlock occurs when two or more threads are each waiting for another to release a lock. The Java programming language uses monitors to synchronize threads. Each object is associated with a monitor, which can also be referred as an object monitor. If a thread invokes a synchronized method on an object, that object is locked. Another thread invoking a synchronized method on the same object will block until the lock is released. Besides the built-in synchronization support, the java.util.concurrent.locks package that was introduced in J2SE 5.0 provides a framework for locking and waiting for conditions. Deadlocks can involve object monitors as well as java.util.concurrent locks.
Typically, a deadlock causes the application or part of the application to become unresponsive. For example, if a thread responsible for the graphical user interface (GUI) update is deadlocked, the GUI application freezes and does not respond to any user action.
d.      Looping Threads
Looping threads can also cause an application to hang. When one or more threads are executing in an  infinite loop, that loop may consume all available CPU cycles and cause the rest of the application to be unresponsive.
e.      High Lock Contention
Synchronization is heavily used in multithreaded applications to ensure mutually exclusive access to a shared resource or to coordinate and complete tasks among multiple threads. For example, an application uses an object monitor to synchronize updates on a data structure. When two threads attempt to update the data structure at the same time, only one thread is able to acquire the object monitor and proceed to update the data structure. Meanwhile, the other thread blocks as it waits to enter the synchronized block until the first thread finishes its update and releases the object monitor. Contended synchronization impacts application performance and scalability.
Hope the above article helps you to understand the basics of OOM issues in Application Servers. OOM issues could be a night mare for any admin given the cause is memory leak. But we will discuss methods to resolve such scenarios soon. Also I plan to post on ways to alter JVM settings on Weblogic server.
 Below are URLs to guides/documents that has been used by me for compilation of above article:
Monitoring and Managing Java SE 6 Platform Applications (http://java.sun.com/developer/technicalArticles/J2SE/monitoring/)
Oracle SOA Interview Questions and Answers
1. Explain about Web service?
Web service is type of software system which is used for exchange the data and use information from one machine to another machine through network. Generally Web services based on the standards such as TCP/IP, HTTP, Java, HTML and XML.
Web services are pure xml based which is used for exchange information through Internet to direct application to application interaction. These systems include programs, objects, messages or documents.
Many software applications written in various programming languages and running on various platforms can use web services to exchange data over computer network.

You can develop Java-based web services on Solaris and that is accessible from your V.B Program that runs on windows.
2. Difference Between Oracle SOA 10g and Oracle SOA 11g ?
There are so many changes in oracle soa 11g when compared to oracle soa 10g in business and technically and some new functionality added
In Oracle SOA 11g contains Service Component Architecture where as Oracle SOA 10g having no Service Component Architecture.
ORACLE SOA Suite 10g is based on Oracle AS 10g
It uses Oracle Application Server 10.1.x
OC4J
Sun JVM
Repository tool irca to create the SOA 10g repository
Managed with Application Server Console
Oralce SOA Suite 11g is based on Oracle FMW 11g
It uses the Oracle Weblogic server 10gR3
Sun or JRockit JVM
Repository Creation Utility ( RCU ) to create or delete the SOA 11g repository
Weblogic server console used for managing.
Oracle SOA 11g  all the SOA Components of Project deployed into into Single Server where as 10g each component is deployed into particular server.
In SOA 10g having ESB Console, BPEL Console, Application Server Control these are all individual and not well integrated.
In SOA 11g Provides service monitoring across all SOA Components Such as ESB, BPEL, Human Workflow
SOA suite 11g has the Enterprise Management Console the em console is used for Manage SOA Suite Services, Manage SOA Suite Deployment, Review Logs and Exceptions.
SOA Suite 11g Components
Oracle Adapters
Oracle Mediator
Business Events and Events Delivery Network
Oracle Business Rules
Human Workflow
Oracle Business Activity Monitoring
Oracle Enterprise Manager
Question: Can we set audit level at BPEL level?
Answer: Yes, we can use bpel.config.auditLevel property inside composite.xml file for BPEL process service component to set audit level for BPEL. This property takes precedence over audit level settings at the SOA Infrastructure, service engine, and SOA composite application levels.
Off

1) SOA 11g and SOA 12c: How to configure transaction timeouts for BPEL (Doc ID 880313.1)            To BottomTo Bottom       

In this Document
Goal
Solution
References
APPLIES TO:
Oracle SOA Suite - Version 11.1.1.1.0 to 12.1.3.0.0 [Release 11gR1 to 12c]
Information in this document applies to any platform.
***Checked for relevance on 09-August-2013***
GOAL
During runtime you may be seeing errors in the log similar to the following:
The transaction was rolled back
and / or
java.lang.IllegalStateException: Cannot call setRollbackOnly() current thread is NOT associated with a transaction
and / or
Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out
The solution is typically to increase the transaction timeout for the process. 
How do you configure the transaction timeout for BPEL on SOA 11g and SOA 12c?
SOLUTION
General Considerations:
The EJB Transaction time out should be greater than SyncMaxWaitTime and it can also be larger than the JTA Transaction Time out. This because EJB Transaction Timeout overrides the JTA Transaction Time Out.
SyncMaxWaitTime < EJB > JTA Transaction Time out
SyncMaxWaitTime should always come under the range of the EJB transaction time out else it will get interrupted with EJB Transaction time out once Transaction time > EJB Transaction Time out.
The JTA Transaction Timeout affects the user transaction only (javax.transaction.UserTransaction) which will always be less than the BPEL Process
Note: This recommendation is ONLY applicable to Sync Processes.  Additionally the default timeout setting that comes with the SOA 11g installation does not comply with this rule. You might need to adjust the settings according to your particular business needs.
1. Setting syncMaxWaitTime:
The SyncMaxWaitTime property applies to durable processes that are called in an asynchronous manner.
When the client (or another BPEL process) calls the BPEL process which has durable activity(ex : wait), the wait (breakpoint) activity is executed. However, since the wait is processed after some time by an asynchronous thread in the background, the executing thread returns to the client side. The client (actually the delivery service) tries to pick up the reply message, but it is not there since the reply activity in the process has not yet executed. Therefore, the client thread waits for the SyncMaxWaitTime seconds value. If this time is exceeded, then the client thread returns to the caller with a timeout exception.If the wait is less than the SyncMaxWaitTime value, the asynchronous background thread then resumes at the wait and executes the reply. The reply is placed in the HashMap and the waiter (the client thread) is notified. The client thread picks up the reply message and returns.
Therefore, SyncMaxWaitTime only applies to synchronous process invocations when the process has a breakpoint in the middle. If there is no breakpoint, the entire process is executed by the client thread and returns the reply message.
For SOA 11g R1 PS1 (11.1.1.1.0 and later) and 12c:
* Login into EM
* Expand SOA and right click on "soa-infra" and select: SOA Administration -> BPEL Properties
* Click on "More BPEL Configuration Properties..." link
* Locate syncMaxWaitTime and change it.
-- Alternative Method -- For SOA 11g R1 (11.1.1.1.0) ONLY:
* Take backup of bpel-config.xml, located at: /user_projects/domains//config/soa-infra/configuration/.
* Open the bpel-config.xml file.
* Edit the value for the syncMaxWaitTime property.
* Save the changes.
* Restart Oracle WebLogic Server.
Note: Since 11.1.1.2, bpel-config.xml is no longer available into the file system and therefore the only chance for modification is through EM Console.
2. Setting the transaction timeout for BPEL EJBs:
The timeout properties for the EJBs control the particular timeout setting for the SOA application, overriding the global setting specified by the JTA timeout (See step 3).
Notes: Whenever we use EJB Container Managed Transactions with JTA, the EJB Transaction Timeout overrides the JTA Transaction Time Out.
Internally EJB uses JTA(Java Transaction API)
Enterprise beans that use container-managed transaction demarcation also must not use the javax.transaction.UserTransaction interface
Note: Prior implement next steps, ensure to shutdown SOA managed server. Otherwise you will get errors, see following document for details Note 1271369.1
* Log into Oracle WebLogic Administration Console.
* Click Deployments.
* Expand soa-infra -> EJBs.
* Following EJBs need to be updated:
BPELActivityManagerBean
BPELAuditTrailBean
BPELDeliveryBean
BPELDispatcherBean
BPELEngineBean
BPELFinderBean
BPELInstanceManagerBean
BPELProcessManagerBean
BPELSensorValuesBean
BPELServerManagerBean
CompositeMetaDataServiceBean
* You can change the parameter in the Configuration tab for the Transaction Timeout setting.
* Click Save.
* Save the Plan.xml to some known location - Ensure no other file is named Plan.xml -.
* Update soa-infra deployment.
* Start SOA Managed Server.
3. Setting the global transaction timeout at Weblogic Domain Level:

This property controls the transaction timeout seconds for active transactions. If the transaction is still in the "active" state after this time, it is automatically rolled back.
   * Log into Oracle WebLogic Administration Console.
   * Click Services -> JTA.
   * Change the value of Timeout Seconds (the default is 30).
   * Click Save.
   * Restart Oracle WebLogic Server.

More information available at:
 For Weblogic 12c:
4) "weblogic.application.ModuleException: Cannot convert value" error when saving changes to SOAINFRA (BPEL) Beans while SOA server is running (Doc ID 1271369.1)   To BottomTo Bottom         
In this Document
Symptoms
            Steps to re-produce the issue:
Cause
Solution
            Workaround:
References
APPLIES TO:
Oracle SOA Suite - Version 11.1.1.1.0 and later
Information in this document applies to any platform.
***Checked for relevance on 09-May-2012***
SYMPTOMS
When attempting to make changes to soa-infra (BPEL) EJBs while the SOA server is running and try to activate the changes in the WebLogic console you see the following error:
An error occurred during activation of changes, please see the log for details.
weblogic.application.ModuleException:
Cannot convert value of type [$Proxy196 implementing oracle.bpel.services.workflow.verification.IVerificationService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [oracle.bpel.services.workflow.verification.IVerificationService] for property 'verificationService': no matching editors or conversion strategy found"
Steps to re-produce the issue:
Log in to the WebLogic console http://host:port/console.
Click "Deployments".
Expand "soa-infra"
Click "BPELDeliveryBean" (You can actually change any BPEL EJB to reproduce this issue).
Click on the "Configuration" tab.
For this test case you modify "Transaction Timeout", but this is more likely to happen when you make changes to other properties too.
Click "Save".
Activate Changes.
Once you try to activate the changes you will notice the above mentioned error.
You might also see the following error in the soa_server1-diagnostic.log:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bpmUserAuthenticationServiceImplementation' defined in URL [zip:/soa/modules/oracle.bpm.runtime_11.1.1/oracle.bpm.bpm-services.implementation.jar!/oracle/bpm/services/config/spring-applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy196 implementing oracle.bpel.services.workflow.verification.IVerificationService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [oracle.bpel.services.workflow.verification.IVerificationService] for property 'verificationService'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy196 implementing oracle.bpel.services.workflow.verification.IVerificationService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [oracle.bpel.services.workflow.verification.IVerificationService] for property 'verificationService': no matching editors or conversion strategy found
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
... 55 more
Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type [$Proxy196 implementing oracle.bpel.services.workflow.verification.IVerificationService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [oracle.bpel.services.workflow.verification.IVerificationService] for property 'verificationService'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy196 implementing oracle.bpel.services.workflow.verification.IVerificationService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [oracle.bpel.services.workflow.verification.IVerificationService] for property 'verificationService': no matching editors or conversion strategy found
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:391)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1289)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1250)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
... 64 more
Caused by: java.lang.IllegalArgumentException: Cannot convert value of type [$Proxy196 implementing oracle.bpel.services.workflow.verification.IVerificationService,org.springframework.aop.SpringProxy,org.springframework.aop.framework.Advised] to required type [oracle.bpel.services.workflow.verification.IVerificationService] for property 'verificationService': no matching editors or conversion strategy found
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:231)
at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:138)
at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:386)
... 68 more
CAUSE
The cause of this issue is due to an unpublished Bug 9579877 .
Due to the complexity of the fix, a workaround is available. The development team has proposed to fix the issue in a future release.
SOLUTION
As specified above, the issue is planned to be fixed in future releases. Until then the following workaround can be used.
Workaround:
Stop the SOA (soa_server1) Server from the Weblogic console.
Update the required EJBs and activate the changes.
Start the SOA (soa_server1) Server.

Decrypt weblogic password
--------------------------
1. Create a script decrypt_password.py in $DOMAIN_HOME/security directory and paste the following code into it:
========================================================================
from weblogic.security.internal import *
from weblogic.security.internal.encryption import *
encryptionService = SerializedSystemIni.getEncryptionService(".")
clearOrEncryptService = ClearOrEncryptedService(encryptionService)
# Take encrypt password from user
pwd = raw_input("Paste encrypted password ({AES}fk9EK...): ")
# Delete unnecessary escape characters
preppwd = pwd.replace("\\", "")
# Display password
print "Decrypted string is: " + clearOrEncryptService.decrypt(preppwd)
========================================================================
2. Set domain environment variables or run the setDomainEnv.sh script
source $DOMAIN_HOME/bin/setDomainEnv.sh
3. Get encrypted password, in this example from boot.properties file of AdminServer
{AES}jkIkkdh693dsyLt+DrKUfNcXryuHKLJD76*SXnPqnl5oo\=
4. Navigate to $DOMAIN_HOME/security directory and run the following command to start decryption:
cd $DOMAIN_HOME/security
java weblogic.WLST decrypt_password.py
Initializing WebLogic Scripting Tool (WLST) ...
Welcome to WebLogic Server Administration Scripting Shell
Type help() for help on available commands
Please enter encrypted password (Eg. {AES}fk9EK...): {AES}jkIkkdh693dsyLt+DrKUfNcXryuHKLJD76*SXnPqnl5oo\=
Decrypted string is: welcome01
Decrypt weblogic password
=========================
Go to /config directory
Cat  config.xml  and find the element < custom-identity-key-store-pass-phrase-encrypted>
Copy the encrypted password to a notepad
Go to /server/bin folder
Run the below command to set environment
. ./setWLSEnv.sh ( make sure you have two dots separated by a space)
Go to /security folder ( IMPORTANT- make sure you have SerializedSystemIni.dat file exist in this directory)
Create a file named decryptpassword.py
Add the below lines to it
from weblogic.security.internal import *
from weblogic.security.internal.encryption.import *
#This will prompt you to make sure you have SerializedSystemIni.dat file under #current directory from where you are running command
raw_input("Please make sure you have SerializedSystemIni.dat inside the current directory, if yes press ENTER to continue.")
# Encryption service
encryptionService = SerializedSystemIni.getEncryptionService(".")
clearOrEncryptService = ClearOrEncryptedService(encryptionService)
# Take encrypt password from user
pwd = raw_input("Please enter encrypted password (Eg. {3DES}Bxt5E3...): ")
# Delete unnecessary escape characters
preppwd = pwd.replace("\\", "")
# Decrypt password
print "Your password is: " + clearOrEncryptService.decrypt(preppwd)
Then run the above python file by running below command  (IMPORTANT – make sure you are running from /security directory
java weblogic.WLST decryptpassword.py
 it will prompt to press enter
then it will prompt you to provide encrypted password
please enter the encrypted password from your notepad
it will display the clear text password
weblogic.transaction.internal.TimedOutException:Transaction timed out after 301 seconds – Oracle SOA Suite 11g

weblogic.transaction.internal.TimedOutException:Transaction timed out after 301 seconds – Oracle SOA Suite 11g:

Frequently the Oracle  BPEL instances are getting rolled back with the following exception.
 The root cause of the issue is, JTA transaction getting timeout before completing the execution of the BPEL instance; the JTA transaction should be active to complete the execution successfully.


[2012-04-26T05:15:45.139+00:00] [SOA1] [ERROR] [] [oracle.soa.bpel.engine] [tid: orabpel.invoke.pool-4.thread-23] [userId: ] [ecid: 0000JRh3heOAxGoqwSuXMG1F_qb^000aP5,0:1:100080683] [APP: soa-infra] [composite_name: AM_Invoker] [component_name: AM_Invoker] [component_instance_id: 5977508] The reason was The execution of this instance "5977508" for process "AM_Invoker" is supposed to be in an active jta transaction, the current transaction status is "MARKED_ROLLBACK" . Root cause: null

 [APP: soa-infra] Error while invoking bean "cube delivery": JTA transaction is not in active state.[[
The transaction became inactive when executing activity "5977508-BpInv1-BpSeq9.78-2" for instance "5,977,508", bpel engine cannot proceed further without an active transaction. please debug the invoked subsystem on why the transaction is not in active status. the transaction status is "MARKED_ROLLBACK".

Message handle error.error while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the reported exception is: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 301 seconds
BEA1-2980B7B48F411EE46991

Solution:

Increase the JTA time out and the BPEL EJB transaction timeout.

Change the JTA transaction timeout:
  1. Log in to Oracle WebLogic Server Administration Console.
  2. In the Domain Structure, select Services > JTA
  3. Increase the JTA transaction timeout value to some higher value like 3600

Change the BPEL EJB transaction timeout settings:

  1. Log in to Oracle WebLogic Server Administration Console.
  2. In the Domain Structure, click Deployments.
  3. Expand soa-infra > EJBs.
  4. Update the following EJBs transaction Timeout value to some higher value like 1200:
            BPELActivityManagerBean
                        BPELEngineBean
                        BPELInstanceManagerBean
            BPELProcessManagerBean
                        BPELServerManagerBean
  1. Click Save.
  2. Restart Oracle WebLogic Server.
There is no standard value for transaction timeout property. We need to trail out and set the value.
If the component still fails with the transaction timeout error then revisit the component design and tune the same.


How to enable SSL debug tracing in Weblogic Server?

Add the following start up options to the start up file startWebLogic.cmd/startWebLogic.sh or startManagedWebLogic.cmd/startManagedWebLogic.sh based on which file is used to start the server to enable SSL debug tracing in Weblogic Server.

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.debug.DebugSecuritySSL=true -Dweblogic.debug.DebugSSL=true -Dweblogic.StdoutDebugEnabled=true -Dweblogic.log.StdoutSeverityLevel=Debug -Dweblogic.log.LogSeverity=Debug"

Setting the JDBC Connection timeout properties in weblogic server through WLST

There are different timeout properties in JDBC connection, this post explain the approach to set some of the important JDBC Connection timeout properties in weblogic server through WLST script.

Inactive Connection Timeout:
The number of inactive seconds on a reserved connection before WebLogic Server reclaims the connection and releases it back into the connection pool.
You can use the Inactive Connection Timeout feature to reclaim leaked connections - connections that were not explicitly closed by the application.

Connection Reserve Timeout:
The number of seconds after which a call to reserve a connection from the connection pool will timeout.
When set to 0, a call will never timeout.
When set to -1, a call will timeout immediately.

Statement Timeout:
The time after which a statement currently being executed will time out.
A value of -1 disables this feature.
A value of 0 means that statements will not time out.

oracle.jdbc.ReadTimeout:
The property oracle.jdbc.ReadTimeout helps to set read timeout while reading from the socket. 
oracle.net.READ_TIMEOUT for jdbc versions < 10.1.0.5 oracle.jdbc.ReadTimeout for jdbc versions >=10.1.0.5

oracle.net.CONNECT_TIMEOUT:
The property oracle.net.CONNECT_TIMEOUT helps to set the login time out in Oracle.

SetJDBCTimeoutProperties.py
def setJDBCTimeoutProperties():
   dsName='CRM6EAIReference'
   edit()
   startEdit()
       
   server='AdminServer'
   cd("Servers/"+server)
   target=cmo
 
   print '========================================='
   print 'Setting the timeout properties for DataSource....'
   print '========================================='  
           
   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName)
   #cmo.destroyProperty(getMBean('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName+'/Properties/oracle.net.CONNECT_TIMEOUT'))
   cmo.createProperty('oracle.net.CONNECT_TIMEOUT')

   #cmo.destroyProperty(getMBean('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName+'/Properties/oracle.jdbc.ReadTimeout'))
   cmo.createProperty('oracle.jdbc.ReadTimeout')

   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName+'/Properties/oracle.net.CONNECT_TIMEOUT')
   cmo.setValue('10000')

   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCDriverParams/'+dsName+'/Properties/'+dsName+'/Properties/oracle.jdbc.ReadTimeout')
   cmo.setValue('20000')

   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCConnectionPoolParams/'+dsName)
   cmo.setInactiveConnectionTimeoutSeconds(120)

   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCConnectionPoolParams/'+dsName)
   cmo.setConnectionReserveTimeoutSeconds(30)

   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCConnectionPoolParams/'+dsName)
   cmo.setStatementTimeout(120)

   save()
   activate()

   print 'Timeout settings for the datasource '+dsName+' has been completed'
 
 
def main():
     
    adminURL='t3://localhost:8000'
    adminUserName='weblogic'
    adminPassword='welcome1'
    connect(adminUserName, adminPassword, adminURL)
    setJDBCTimeoutProperties()
    disconnect()

     

main()

Execute the script:
cd %WLS_HOME%\common\bin
wlst.sh SetJDBCTimeoutProperties.py

Restart the server after successful execution.





Tuesday, April 29, 2014

Setting the XA Transaction timeout values for a datasource in weblogic server through WLST script

This post explain the approach to set some of the important timeout properties for XA datasources in weblogic server through WLST script.

Set XA Transaction Timeout:
Enables WebLogic Server to set a transaction branch timeout based on the value for XaTransactionTimeout.

When enabled, the WebLogic Server Transaction Manager calls XAResource.setTransactionTimeout() before calling XAResource.start, and passes either the XA Transaction Timeout value or the global transaction timeout.

XA Transaction Timeout:
The number of seconds to set as the transaction branch timeout.
If set, this value is passed as the transaction timeout value in the XAResource.setTransactionTimeout() call on the XA resource manager, typically the JDBC driver.

When this value is set to 0, the WebLogic Server Transaction Manager passes the global WebLogic Server transaction timeout in seconds in the method.

If set, this value should be greater than or equal to the global WebLogic Server transaction timeout.

XA Retry Duration:
Determines the duration in seconds for which the transaction manager will perform recover operations on the resource. A value of zero indicates that no retries will be performed.

XA Retry Interval:

The number of seconds between XA retry operations if XARetryDurationSeconds is set to a positive value.

SetXATimeoutProperties.py

def setXATimeoutProperties():
   dsName='SOADataSource'
   edit()
   startEdit()
       
   server='AdminServer'
   cd("Servers/"+server)
   target=cmo
 
   print '========================================='
   print 'Setting the timeout properties for DataSource....'
   print '========================================='  
           
   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCXAParams/'+dsName)
   cmo.setXaSetTransactionTimeout(true)

   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCXAParams/'+dsName)
   cmo.setXaTransactionTimeout(3000)

   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCXAParams/'+dsName)
   cmo.setXaRetryDurationSeconds(300)

   cd('/JDBCSystemResources/'+dsName+'/JDBCResource/'+dsName+'/JDBCXAParams/'+dsName)
   cmo.setXaRetryIntervalSeconds(60)

   save()
   activate()

   print 'Timeout settings for the datasource '+dsName+' has been completed'
 
 
def main():
     
    adminURL='t3://10.30.34.216:8000'
    adminUserName='weblogic'
    adminPassword='reuters123'
    connect(adminUserName, adminPassword, adminURL)
    setXATimeoutProperties()
    disconnect()

     

main()

Execute the script:
cd %WLS_HOME%\common\bin
wlst.sh SetJDBCTimeoutProperties.py

Restart the server after successful execution.

Weblogic Managed server status struck in STARTING

We faced the issue while starting the weblogic managed server, the status of the server struck in STARTING.

W could not able to find a valid error messages in the log files

Managed Server Log File:

<30-oct-2013 11:13:29="" clock="" gmt="" o="">  

No logs are getting printed after this.

Node Manager Log File:
<30-oct-2013 11:09:44="">
<30-oct-2013 11:09:44="">
java.io.IOException: Server failed to start up. See server output log for more details.
      at weblogic.nodemanager.server.AbstractServerManager.start(AbstractServerManager.java:200)
      at weblogic.nodemanager.server.ServerManager.start(ServerManager.java:23)
      at weblogic.nodemanager.server.Handler.handleStart(Handler.java:604)
      at weblogic.nodemanager.server.Handler.handleCommand(Handler.java:121)
      at weblogic.nodemanager.server.Handler.run(Handler.java:71)

      at java.lang.Thread.run(Thread.java:662)

The root cause of this issue is somehow the ldap directory of the server got corrupted.

To resolve this issue:
  •  Kill the managed server 
  •  Remove the ldap folder from the following location  <>/servers/<>, this file will be auto generated while restarting the server.


  • Restart the server

Saturday, April 26, 2014

A timeout occurred while interacting with sever. Limited information is available - Weblogic

 

 We were getting the error "A timeout occurred while interacting with Server. Limited information is available" while accessing the Server Page from the admin console in clustered weblogic environment and the health of the server is shown as empty but the state is shown as running.
Login to the admin console and accessing the Server page also was taking more time
But the individual servers and the node managers are running fine in all the nodes.

The issue seems to be because of the delay in the communication between the node manager and the managed servers.

To Resolve the issue:
  • Stop all the managed servers from all the nodes.
  • Kill the node managers from all the nodes.
  • Stop the Admin server.
  • Start the node manager in all the nodes.
  • Start the Admin server.
  • Start all the managed server.

Login to admin console and verify the servers,  now the state and the health of the server will be displayed properly

Saturday, September 22, 2012

Installing the patches to weblogic server using Oracle Smart Update

Installing the patches to weblogic server using Oracle Smart Update:
Oracle Smart Update tool help us to apply and manage the patches for weblogic server.

As of Smart Update 3.3.0, the Get Patches tab has been removed, and you can no longer use Smart Update to download patches, service packs, maintenance packs, or version upgrades. You must first download the appropriate patch or patches directly from My Oracle Support. Once downloaded, you can use Smart Update to apply the patches.

Smart Update 3.3.0 no longer prompts you to register for security updates from Oracle Configuration Management (OCM).

The version can be verified from Help -> About.

This blog will explain the steps to install the patches to a weblogic server using Oracle Smart Update.

  • Download the patch through metalink using the patch id or bug no.
  • Uncompress patch zip file to $MWHOME/utills/bsu/cache_dir (If the cache_dir folder is not available then create the same)


  •  Launch the Oracle Smart Update Tool (bsu.cmd) from $MWHOME\utils\bsu, this will list all the applied patchs and all those patches that are ready for installation.

  • Click on Apply to install the corresponding patch, the tool verify the environment for the conflicts.

  • Click on OK once the patch validation is completed.Once the patch is applied successfully the patch will be listed under applied patches

  • Restart the servers
·         Oracle WebLogic Server Patch Set Update 10.3.6.0.160419 README
·         =========================================================
·          
·         This README provides information about how to apply Oracle WebLogic Server
·         Patch Set Update 10.3.6.0.160419. It also provides information about reverting to
·         the original version.
·          
·         Released: April, 2016
·          
·          
·         Smart Update Details of Oracle WebLogic Server Patch Set Update 10.3.6.0.160419
·         --------------------------------------------------------------------------
·          
·         PATCH_ID - DEM4
·         Patch number - 22505423
·          
·          
·         Preparing to Install Oracle WebLogic Server Patch Set Update 10.3.6.0.160419
·         -----------------------------------------------------------------------
·          
·         - WebLogic Server Patch Set Update (PSU) can be applied on a per-domain basis
·           (or on a more fine-grained basis), Oracle recommends that PSU be applied on an installation-wide basis.
·           PSU applied to a WebLogic Server installation using this recommended practice
·           affect all domains and servers sharing that installation.
·         - Login as same "user" with which the component being patched is installed.
·         - Stop all WebLogic servers.
·         - Remove any previously applied WebLogic Server Patch Set Update and associated overlay patches
·          
·          
·         Installing Oracle WebLogic Server Patch Set Update 10.3.6.0.160419
·         -------------------------------------------------------------
·          
·          - unzip p22505423_1036_Generic.zip to {MW_HOME}/utils/bsu/cache_dir or any local directory
·            
·            Note: You must make sure that the target directory for unzip has required write and executable permissions
·                  for "user" with which the component being patched is installed.
·          
·          - Navigate to the {MW_HOME}/utils/bsu directory.
·          - Execute bsu.sh -install -patch_download_dir={MW_HOME}/utils/bsu/cache_dir -patchlist={PATCH_ID} -prod_dir={MW_HOME}/{WL_HOME}
·          
·            Where, WL_HOME is the path of the WebLogic home
·          
·            Reference: BSU Command line interface
·                       http://docs.oracle.com/cd/E14759_01/doc.32/e14143/commands.htm
·          
·          
·         Post-Installation Instructions
·         ------------------------------
·          
·         a) Restart all WebLogic servers.
·          
·         b) The following command is a simple way to determine the application of WebLogic Server PSU.
·          
·           $ . $WL_HOME/server/bin/setWLSEnv.sh
·           $ java weblogic.version
·          
·         In the following example output, 10.3.6.0.160419 is the installed WebLogic Server PSU.
·          
·               WebLogic Server 10.3.6.0.160419 PSU Patch for BUG22505423
·          
·          
·         Uninstalling Oracle WebLogic Server Patch Set Update 10.3.6.0.160419
·         ---------------------------------------------------------------
·          
·          - Stop all WebLogic Servers
·          - Navigate to the {MW_HOME}/utils/bsu directory.
·          - Execute bsu.sh -remove -patchlist={PATCH_ID} -prod_dir={MW_HOME}/{WL_HOME}
·          
·          
·         Post-Uninstallation Instructions
·         --------------------------------
·          
·         a) Restart all WebLogic Servers.
·          
·          
·         Oracle recommends that you see following key notes
·         --------------------------------------------------
·          
·         - My Oracle Support NOTE: 1306505.1 Announcing Oracle WebLogic Server PSUs (Patch Set Updates)
·         https://support.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1306505.1
·          
·         - My Oracle Support NOTE: 1470197.1 Master Note on WebLogic Server Patch Set Updates (PSUs)
·         https://support.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1470197.1
·          
·         - My Oracle Support NOTE: 1471192.1 - Replacement Patches for WebLogic Server PSU Conflict Resolution
·         https://support.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1471192.1
·          
·         - SSL Authentication Problem Using WebLogic 10.3.6 and 12.1.1 With JDK1.7.0_40 or Higher
·         https://support.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=1607170.1
·          
·         - Smart Update Applying Patches to Oracle WebLogic Server
·         http://docs.oracle.com/cd/E14759_01/doc.32/e14143/intro.htm
·         ==============================
·         Interim Patch for Bug: 13801175
·         ==============================
·          
·         Date: Tue Feb 25 18:03:46 2014
·         ---------------------------------
·         Platform Patch for   : Generic
·         Product Patched      : Oracle SOA Suite
·         Product Version      : 11.1.1.6.0 + patch 16702086(mandatory)
·         Auto Enabled         : No
·          
·         This document describes how to install the interim patch for
·         bug # 13801175. It includes the following sections:
·          
·           Section 1, "Prerequisites"
·          
·           Section 2, "Pre-Installation Instructions"
·          
·           Section 3, "Installation Instructions"
·          
·           Section 4, "Post-Installation Instructions"
·          
·           Section 5, "Deinstallation Instructions"
·          
·           Section 6, "Post Deinstallation Instructions"
·          
·           Section 7, "Bugs Fixed by This Patch"
·          
·          
·         1 Prerequisites
·         ----------------
·          
·         Ensure that you meet the following requirements before you install or
·         deinstall the patch:
·          
·         1. Before applying the non-mandatory patches, ensure that you have the
·            exact symptoms described in the bug.
·          
·         2. Review and download the latest version of OPatch 11.1.x via Bug 6880880.
·            (OPatch version 11.1.0.8.2 or higher)
·            a. Oracle recommends that all customers be on the latest version of OPatch.
·               Review the My Oracle Support note 224346.1, and follow the instructions
·               to update to the latest version if needed. Click the following link to
·               view the note:
·           
·               Note 224346.1  - Opatch - Where Can I Find the Latest Version of Opatch?
·               https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=224346.1
·          
·          
·            b. For FMW Opatch usage, refer to the document at:
·               http://download.oracle.com/docs/cd/E21764_01/doc.1111/e16793/opatch.htm
·          
·         3. Verify the OUI Inventory.
·            OPatch needs access to a valid OUI inventory to apply patches.
·            Validate the OUI inventory with the following commands:
·          
·            $ opatch lsinventory 
·          
·            If the command errors out, contact Oracle Support and work to validate
·            and verify the inventory setup before proceeding.
·          
·         4. Confirm the executables appear in your system PATH.
·          
·            The patching process will use the unzip and the OPatch executables. After
·            setting the ORACLE_HOME environment, confirm if the following executables
·            exist, before proceeding to the next step:
·          
·           - which opatch
·           - which unzip
·          
·            If either of these executables do not show in the PATH, correct the
·            problem before proceeding.
·          
·         5. Create a location for storing the unzipped patch. This location
·            will be referred to later in the document as PATCH_TOP.
·          
·             NOTE: On WINDOWS, the prefrred location is the drive root directory.
·             For example, "C:\PATCH_TOP" and avoid choosing locations like,
·             "C:\Documents and Settings\username\PATCH_TOP".
·             This is necessary due to the 256 characters limitation on windows    
·             platform.
·          
·          
·         2 Pre-Installation Instructions
·         -------------------------------
·          
·            - - Set the ORACLE_HOME environment variable to SOA Home,
·          for example "[MW_HOME]/Oracle_SOA1" directory.
·          
·         3 Installation Instructions
·         ---------------------------
·          
·         1. Unzip the patch zip file into the PATCH_TOP.
·          
·            $ unzip -d PATCH_TOP p13801175_111167_Generic.zip
·          
·             NOTE: In WINDOWS, the unzip command might not work as this zip has
·             certain contents which passes the 256 characters limit.
·             To overcome this problem, please use alternate ZIP utility like
·             7-Zip to unzip the patch.
·          
·             For example: To unzip using 7-zip, run the command:
·                  "c:\Program Files\7-Zip\7z.exe"  x p14302931_111154_Generic.zip
·          
·         2. Set your current directory to the directory where the patch is located.
·          
·            $ cd PATCH_TOP/13801175
·          
·         3. Run OPatch to apply the patch.
·          
·          
·                $ opatch apply
·          
·          
·         When OPatch starts, it validates the patch and makes sure that there are no
·         conflicts with the software already installed in the ORACLE_HOME.
·           OPatch categorizes two types of conflicts:
·          
·              a. Conflicts with a patch already applied to the ORACLE_HOME
·                 In this case, stop the patch installation, and contact Oracle Support
·                 Services.
·          
·              b. Conflicts with subset patch already applied to the ORACLE_HOME
·                 In this case, continue the install, as the new patch contains all the
·                 fixes from the existing patch in the ORACLE_HOME.
·          
·          
·         4 Post-Installation Instructions
·         ---------------------------------
·          
·            - ,
·            - Restart all servers (Admin Server and all Managed Server(s))
·          
·         5 Deinstallation Instructions
·         ------------------------------
·          
·         If you experience any problems after installing this patch, remove the patch as
·         follows:
·          
·         1. Make sure to follow the same Prerequisites or pre-install steps (if any)
·            when deinstalling a patch.  
·            This includes setting up any environment variables like ORACLE_HOME and
·            verifying the OUI inventory before deinstalling.
·          
·         2. Change to the directory where the patch was unzipped.
·          
·            $ cd PATCH_TOP/13801175
·          
·         3. Run OPatch to deinstall the patch.
·                $ opatch rollback -id 13801175
·          
·          
·         6 Post Deinstallation Instructions
·         -----------------------------------
·            - Restart all servers (Admin Server and all Managed Server(s))
·          
·         7 Bugs Fixed by This Patch
·         --------------------------
·         The following are the bugs fixed by this patch:
·          
·           13801175: LARGE BUSINESSEVENT PAYLOAD CAUSES ORA-19011 SYS.XMLTYPE SIZE ERROR
·         ----------------

weblogic.socket.MaxMessageSizeExceededException appearing when Managed Server Attempting To Send larger message to Admin Server.



We used to get the following exception in the weblogic managed servers log file frequently

 #### <> <> <1323912167710>
weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '10000480' bytes exceeds the configured maximum of: '10000000' bytes for protocol: 't3'.
weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '10000480' bytes exceeds the configured maximum of: '10000000' bytes for protocol: 't3'
at weblogic.socket.BaseAbstractMuxableSocket.incrementBufferOffset(BaseAbstractMuxableSocket.java:174)
at weblogic.rjvm.t3.MuxableSocketT3.incrementBufferOffset(MuxableSocketT3.java:351)


The reason is the weblogic managed server tries to send the message size more than 10 MB and failing with the following exception. It is observed that every single time this message is observed in the logs, it is followed by the respective managed server who is sending that message, losing connectivity with the admin server.

The root cause is the RJVM messages used to get piled up due to default watches trap events that’s comes installed and it used to grow in larger size causing the broken communication between managed servers and AdminServer

The solution to resolve this is to disable the default WLDF configured in the server.

Follow the below steps to disable the default WLDF configured in the server.
  • Login into admin console with weblogic user.
  • Click Lock & Edit
  • Expand Diagnostics tab 

  • Click on Diagnostic Modules


  • Click on Module-FMWDFW


  • Click on Watches and Notifications


  • Click on Deadlock


  • Uncheck the below highlighted (Enable Watch)

  • Save the changes and continue the same for remaining 2 components as well. 
               StuckThread  and UncheckedException 
  • Save the changes.
  • Restart all servers (admin and managed)
The default message size of all the servers can also be increased. The configure can be changed in the protocol section of the server configuration from the weblogic console as shown below



This stabilized the connectivity issue between the managed servers and the Admin Server.
JDBC Multi Data Sources in weblogic server

JDBC Multi Data Sources in weblogic server:

A multi data source is an abstraction around a group of data sources that provides load balancing or failover processing between the data sources associated with the multi data source. Multi data sources are bound to the JNDI tree or local application context just like data sources are bound to the JNDI tree. The Multi Data Source can be used in the same way as we use a Data Source.

When an application requests a connection, the Multi Data Source determines which data source will provide a connection based on the selected algorithm.
Create two or more data sources, and then create a Multi Data Source and assign data sources to the Multi Data Source.


Configurations for the Multi Data Source.
Algorithm Type
Load-Balancing
Connection requests to a load-balancing multi data source are served from any data source in the list. The multi data source selects data sources to use to satisfy connection requests using a round-robin scheme. When the multi data source provides a connection, it selects a connection from the data source listed just after the last data source that was used to provide a connection. Multi data sources that use the Load Balancing algorithm also fail over to the next data source in the list if a database connection test fails and the connection cannot be replaced, or if the data source is suspended.
Failover
The Failover algorithm provides an ordered list of data sources to use to satisfy connection requests. Normally, every connection request to this kind of multi data source is served by the first data source in the list. If a database connection test fails and the connection cannot be replaced, or if the data source is suspended, a connection is sought sequentially from the next data source on the list.
FailoverRequestIfBusy
With the Failover algorithm, this attribute enables failover when all connections in a data source are in use.
TestFrequencySeconds
This attribute controls the frequency at which Weblogic Server checks the health of data sources previously marked as unhealthy to see if connections can be recreated and if the data source can be re-enabled.

Tuesday, January 31, 2012

Creating a Trust Keystore Using the keytool Utility for weblogic server


Follow these steps to create the Trust Keystore in weblogic server.

Copy the standard java keystore to create the new trust keystore since it already contains most of the root CA certificates needed. Oracle does not recommend modifying the standard Java trust keystore directly. Copy the standard Java keystore CA certificates located under the $WLSHOME/server/lib directory to the same directory as the certificates.
For example:
cp $WLSHOME/server/lib/cacerts $WLSDOMAIN/certs/appTrustKeyStore.jks
The default password for the standard Java keystore is changeit. Oracle recommends always changing the default password. Use the keytool utility to do this. The syntax is:
keytool -storepasswd -new -keystore -storepass
For example:
cd $WLSDOMAIN/certs
keytool -storepasswd -new welcome1 -keystore appTrustKeyStore.jks -storepass changeit
The CA certificate CertGenCA.der is used to sign all certificates generated by the utils CertGen tool and is located at $WLSHOME/server/lib directory. This CA certificate must be imported into the appTrustKeyStore.jks using the keytool utility. The syntax is:
keytool -import -v -noprompt -trustcacerts -alias -file -keystore -storepass
For example:
keytool -import -v -noprompt -trustcacerts -alias clientCACert –file $WLSHOME/server/lib/CertGenCA.der -keystore appTrustKeyStore.jks –storepass welcome1

Thursday, February 19, 2015

The Admin console is not up/accessible – Oracle SOA Suite

We were facing a strange issue in our Oracle SOA Suite production server in Solaris, we could not able to access the admin console even though the server is started properly and there is no error in the log file.

We were able to telnet the admin server listen address from Admin server node but not able to do it from other nodes.

The root cause of the issue is with Gateway server, the admin server listen address is not listed on the Gateway - the gateway server is not online (the servers listen address is configured in Gateway).

After Solaris admin team made the Gateway server online, we were able to see the admin server listen address listed on the gateway.

After restarting the admin server we were able to access the console page.

The following command can be used for checking the Gateway server status

 netstat –r  

java.net.ConnectException,Bootstrap to server failed while deploying the compoite - Orace SOA Suite
Sometimes we may receive the following exception while deploying the composite to Oracle SOA Suite server using even though the sever is running fine and reachable.

oracle.rc.asadapter.connection.ConnectionException
 at oracle.rc.asadapter.weblogic.connection.spi.Weblogic10JndiProvider.getPresentation(Weblogic10JndiProvider.java:86)
 
Caused by: javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3://127.0.0.1:8000: Bootstrap to localhost/127.0.0.1:8000 failed. It is likely that the remote side declared peer gone on this JVM]
 at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:40)

Caused by: java.net.ConnectException: t3://127.0.0.1:8000: Bootstrap to localhost/127.0.0.1:8000 failed. It is likely that the remote side declared peer gone on this JVM

Caused by: java.rmi.ConnectException: Bootstrap to localhost/127.0.0.1:8000 failed. It is likely that the remote side declared peer gone on this JVM
 at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:334)

This issue can be resolved by configuring valid machine IP or complete name of the machines, including the domain extension as listen address in weblogic server.


On client side,  enter the host entry for the server in the hosts file -C:\Windows\System32\drivers\etc
SOA-INFRA Application is in unknown Type - Oracle SOA Suite 11g
SOA-INFRA Application is in unknown Type - Oracle SOA Suite 11g:

I was facing a strange issue,the Type of the soa-infra application was unknown but the state and the health of the application is looking fine(Active and OK) in admin console.
Because of this the SOA node is not displayed in the em console.




Tried restarting the server without any luck and also updated(redeployed) the soa-infra application but still the type of the application is unknown.

I could not able to find any exception related to this issue in the log files and also there is no issue related to the database schema's.

Followed the below steps to resolve this issue.

Delete the soa-infra application from the admin console deployments.
Install the soa-infra application(soa-infra-wls.ear) from the location SOA_HOME\soa\applications as Enterprise Application.


Change the application name as soa-infra.


Ignore the errors displayed while installing the application, after the successful installation the application will be in Failed state but the Type will be properly displayed as Enterprise Application.

Update(redeploy) the application by changing the Plan file path


Ignore the errors displayed while redeploying the application, once the application redeployed successfully then delete the tmp and cache folders from the server and restart the server.

Now the state, health and the Type of the soa-infra application is displayed properly and also the SOA folder is visible in the EM console.


Increasing the performance of EM console in Oracle SOA Suite 11g - Part1
Increasing the performance of EM console in Oracle SOA Suite 11g - Part1
EM console is very slow when accessing to view the composite/component details or the instance details.
We can try to improve the performance by little by following the below steps.

1. Login to the Oracle SOA Suite 11g EM Console
2. Right Click on SOA-INFRA and go to SOA Administration->Common properties
3. Set the Data Display Options as shown below.
              Select the option “Disable fetching of instance and fault count metrics. Each metric can still be  retrieved on demand”.
Set the Duration Details to 1 hour (based on your requirement) as shown below.


This will enable to fetch the instance and fault count metrics based on the demand also the default search criteria will display the last one hour data, this will improve the performance of the em console.

Enable fmwctl discovery cache:-
Logging into Enterprise Manager Fusion Middleware Control 11g (fmwctl) takes a long time.  Sometimes as long as 45-60 seconds.  This is often viewed as slow response time, performance or hanging issues, fmwctl discovery is always performed as part of login.  

For installations with thousands of targets, fmwctl discovery may take 45-60 seconds. This delay is expected because EM discovery mbeans need to be invoked for every target.
Solution is to cache the discovery results in the servlet context and use it for subsequent logins. This discovery result will be shared by all the fmwctl users. This will still require the entire discovery to be done at least once.

Follow the metalink note 1423893.1 to enable the discovery caching.

If the caching is enabled, fmwctl will use the cached discovery results and login to the em console will be fast.The default setting is "not use the cached results" 



Friday, April 18, 2014

Increasing the performance of EM console in Oracle SOA Suite 11g - Part2

The post http://www.albinsblog.com/2012/04/increasing-performance-of-em-console-in.html#.U1D_JvmukdQ explains some of the steps to improve the EM console performance in Oracle SOA Suite 11g  .

Here some more additional steps to improve the EM console performance.

The EM conolse uses the Dynamic  Monitoring System(DMS) module to collect the metrics from all the DMS enabled targets.
If the frequency of the DMS collection is to fast then the EM console will become slow.

To increase the frequency of the DMS collection, increase the value of intervalSeconds in the $MIDDLEWARE_HOME/oracle_common/modules/oracle.dms_11.1.1/server_config.xml file to higher value.

 
   
   
   
 


to

 
   
   
   
 



Target the DMS application only to the SOA servers.


Monday, April 14, 2014

Backing up the MDS Repository Artifacts - Oracle SOA Suite 11g

In Oracle SOA Suite 11g, all the common artifacts , the deployed composites and the common configurations are stored in the MDS database schema. Sometimes there is a possibility of MDS schema getting corrupted (the best example is the composites getting corrupted frequently)those scenario we will not be able to bring up the soa-infra and also we may loose all the deployments.

Backing up the MDS artifacts is the the solution for these kind of issues.

In this post i will be explaining some of the different options to back up the MDS artifacts.

The best approach is do a full back up of MDS repository schema using database backup utilities(dbexp).The backup can be restored if there is any issue with the MDS schema.

EM console - MDS configuration Page :
Right click on soa-infra and click on Administration and MDS Configuration.
Click Export on MDS Configuration page.

This will export the MDS artifacts to local machine as zip file.


WLST script:

The MDS artifacts also can be exported through WLST script, the exportMetaData command will help us to export the MDS artifacts.

Steps:-
Login to SOA server through putty
Execute $ORACLE_HOME/common/bin/wlst.sh then execute connect() and provide the server details.

After successful connection to ServerConfig execute the below command - Change the export path accordingly.

exportMetadata(application='soa-infra', server='AdminServer',toLocation='/reuters/oracle/as01/mds/soa_mds.jar',docs='/**')

This will export the MDS artifacts as jar file to the specified location.


Tuesday, February 25, 2014

SOA-INFRA app is not starting up - Oracle SOA Suite 11g

SOA-INFRA app is not starting up - Oracle SOA Suite 11g:

When we restarted the soa server, the soa server came up properly except the SOA-INFRA app.

The status of the SOA-INFRA app in weblogic console is failed and also the SOA node in the em console is not displayed.


We could not able to find any particular error from log files including diagnostic log except schema mismatch error with some of the composites.It  seems due to some reason the status of the soa-infra application is failed and the server is restarted without fixing the actual issue then even after fixing the issue and restarting the server the soa-infra app is not Active.


We have tried deleting the following folders from 
$DOMAIN_HOME/servers/AdminServer
data
temp 
cache 

unfortunately even after deleting the above folders the SOA-INFRA app did not come up. 

Tried starting the SOA-INFRA app manually from weblogic console, this time the SOA-INFRA app came up and we could able to see the SOA in em console.



ResourceLimitException : No resources currently available in pool to allocate to applications – Oracle SOA 11g

You could have observed the below exception frequently in the weblogic server log file, weblogic server throws the below exception when there is not enough database connections in the pool to serve the incoming requests reporting increasing the connection pool count. This will affect the overall system  performance

java.sql.SQLException: Internal error: Cannot obtain XAConnection weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool SOADataSource to allocate to applications, please increase the size of the pool and retry..
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:577)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:342)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:329)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:417)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:324)


The above exception is due to there is not enough connections available in the pool to service the requests.
To identify which datasource / connection pool requires more connection do the following.
  • Go to Weblogic Admin console
  • Go to Environment -> Servers
  • Select the server on which the connection pool needs to be monitored
  • Go to Monitoring -> JDBC
  • Customize the table to add the below two properties
This page will list all the datasources/ connection pools targeted to that particular server and how many connections are waiting to get the connection. If more number of connections are waiting, that is not a good which will cause performance impact and also cause stuck threads on the server if the wait time is going to be beyond the thread stuck time (By default it's 10 mins).

(This screen shot taken by reducing the max capacity to 5 for blogging purpose, unfortunately I did not captured the actual screen shot)
Above screenshot shows SOADataSource state is "Overloaded" and also the current wait is 19. There are 19 resources waiting for connection . The above setup is definitely a problem which will result database calls performance issue.

If the connection pool count is not increased with respect to the invoker thread count, then it will cause this kind of contention cause lot of calls to be waiting for connection.

Solution to the above problem is to increase the number of connections in the connection pool.

Steps:
  • Go to WLS Console
  • Select Services -> Datasources -> select the datasource you want to change the pool size
  • Go to Configuration -> connection pool
  • Change the Maximum Capacity to the count which is required for your environment.


Monday, January 30, 2012

Oracle SOA Suite 11g - Changing the service endpoint URL dynamically through EM console

Sometimes we may need to change the default endpoint location of the Oracle SOA Suite composite service through the EM console.
The below steps help us to change the endpoint URL’s of the references through the EM console.
  • In EM console click on the Composite
  • Scroll down to Service and References section

  • Click on Reference link and properties tab
  • Change Endpoint Address to the desired location and click apply

The new request will be send to the new endpoint location configured through the EM console.
The new endpoint configuration can be removed to send the request to the default endpoint location configured in the WSDL.

Webservice invocation failed, Unable to access the following endpoint(s) – Oracle SOA Suite 11g


Webservice invocation failed, Unable to access the following endpoint(s) – Oracle SOA Suite 11g:

Some of the time we used to receive the following exception while invoking the webservice endpoints in Oracle SOA 11g. There could be a multiple reason behind this exception.

This blog explains the different ways to narrow down the issue and to fix the issue.

An exception occured while invoking the webservice operation. Please see logs for more details.
oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Unable to access the following endpoint(s): http://hostname:50000/XISOAPAdapter/MessageServlet?channel=:SalesForce:CC_Out_Soap_SFDC_order

Steps:-   

Ping the host name: 
    • If the host is alive then the connectivity looks fine

    •  If we received Unknown host error then verify whether the host entry is available in the server host  file for the host.


    •   If the host is configured to lookup by DNS server then verify the DNS server configuration.

Telnet to the server with the corresponding port:
    • If the telnet is success then the connectivity looks fine.
    •  If the telnet is failed then check the network connectivity between the server and the webservice host in that particular port

Check the webservice status:
    • If the network connectivity between the two servers are looks fine then check whether the webservice is up and running.
    • Some cases the status of the service in the target system shows as up and running but due to some internal errors with the service the source system may not able to connect to the target service . For e.g. sometime the client will not be able to connect to the Siebel services due to some internal table locking but the status of the service will be shown as up and running in Siebel system. 
Check the webservice authentication configured properly:
    • If the webservice up and running properly then check whether the service is protected with username/password. If the service is protected with username/password then check the username/password configuration in the composite.xml file. 
                    You will be receiving the same exception if the username/password is not configured properly.

Sometimes we used to get the exception in the em console

oracle.fabric.common.FabricInvocationException: Unable to access the following endpoint(s): https://sap.int.com/XISOAPAdapter/MessageServlet?channel=*:Markets_Siebel_QA:CC_Out_Soap_SalesOrder

But the actual exception in the server log

Caused By: javax.xml.ws.WebServiceException: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


Verify the certificate installed properly in the server and also the certificate not expired.

Modifying the DVM’s and Business Rules using SOA Composer


Oracle SOA Suite Composer is a J2EE application deployed into the weblogic server that help us to edit the DVM’s and the Business Rules after the deployment  to the Oracle SOA Suite server during the runtime.

The SOA Composer application can be accessed using the following URL
http:// Server Host>:/soa/composer/

To modify the DVM’s or the Business Rules the weblogic user must have the SOADesigner role.

When using Oracle SOA Composer, you can save your customizations in a sandbox environment without applying them to a running instance and later return to the sandbox to make additional customizations. These customizations are only applied to the running instance when you click Commit.

Modify DVM:

  • Login to SOA Composer
  • Click on open and then click on Open DVM, this will list all the DVM’s deployed to MDS




  • Select the DVM that needs modified and click on Open.


  • Click on Edit


  • Click on Add or Edit based on the requirement


  • Change the values accordingly and click on ok
  • Click on Save.


  • Click on Commit then Click on yes.


  • The changes are applied to the running instance.


Modifying the Business Rules:

  • Click on Open Rules


  • Select the rule that needs to be modified and click on open.


  • Modify the rules as required and Click on Save and Commit.

       The changes will be applied to the running instance.

Thursday, August 9, 2012

EM console hangs After Entering Username and Password (javax.el.ELException: java.lang.IllegalArgumentException: Illegal id) – Oracle SOA Suit 11g


In Oracle SOA Suite 11.1.1.5.0 in Solaris server, while accessing Enterprise Manager Control the screen just hangs after entering username and password.

The following exception is thrown in the admin server log.

07-Aug-2012 19:37:52 o'clock GMT> <[ServletContext@1860343256[app:em module:/em path:/em spec-version:2.5]] Root cause of ServletException.
javax.faces.FacesException: javax.el.ELException: java.lang.IllegalArgumentException: Illegal id:
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:261)
at javax.faces.webapp.UIComponentELTag.createComponent(UIComponentELTag.java:222)
at javax.faces.webapp.UIComponentClassicTagBase.createChild(UIComponentClassicTagBase.java:513)
at javax.faces.webapp.UIComponentClassicTagBase.findComponent(UIComponentClassicTagBase.java:782)
at javax.faces.webapp.UIComponentClassicTagBase.doStartTag(UIComponentClassicTagBase.java:1354)
Truncated. see log file for complete stacktrace
Caused By: javax.el.ELException: java.lang.IllegalArgumentException: Illegal id:
at javax.el.BeanELResolver.getValue(BeanELResolver.java:266)
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
at com.sun.el.parser.AstValue.getValue(Unknown Source)
at com.sun.el.ValueExpressionImpl.getValue(Unknown Source)
Truncated. see log file for complete stacktrace
Caused By: java.lang.IllegalArgumentException: Illegal id:
at org.apache.myfaces.trinidad.component.UIXComponentBase._throwBadId(UIXComponentBase.java:1564)
at org.apache.myfaces.trinidad.component.UIXComponentBase._validateId(UIXComponentBase.java:1540)
at org.apache.myfaces.trinidad.component.UIXComponentBase.setId(UIXComponentBase.java:384)
at oracle.sysman.core.view.menu.MenuComponentsUtil.populateRichMenu(MenuComponentsUtil.java:247)
at oracle.sysman.core.view.menu.MenuComponentsUtil.populateRichMenu(MenuComponentsUtil.java:127)
Truncated. see log file for complete stacktrace

The cause of this exception is the Environment variables are not set properly.

Solution:

We have followed the following steps to resolve the issue (the steps are specified in the metalink note 1399244.1).


Following Environment variables should be set for Solaris in the .profile file:
  • Set ORACLE_COMMON_HOME   ORACLE_COMMON_HOME=$MWHOME/oracle_common;export ORACLE_COMMON_HOME
  • Set LD_LIBRARY_PATH to
           $ORACLE_HOME/lib32
  • Set LD_LIBRARY_PATH_64 to
          $ORACLE_HOME/lib
  • Ensure that PATH has reference to
         $ORACLE_COMMON_HOME/common/bin
        $ORACLE_COMMON_HOME/bin
  • set CLASSPATH to include this:
            $ORACLE_HOME/lib:$MW_HOME/jdk1.6.0_24/lib
  • Restart the services and access Enterprise Manager.

Wednesday, July 18, 2012

Undeploying SOA Composite while soa-infra is down in Oracle SOA Suite 11g.

Undeploying SOA Composite while soa-infra is down in Oracle SOA Suite 11g.:
Recently we had an issue with soa-infra start-up, soa-infra application won’t come up due to corrupt composite. 

We have followed the Meta link note 1380835.1 to un-deploy the corrupted composite and bring up the soa-infra application.

Thought of sharing the same here, it may help whoever facing the same issue.

The SOA composites can’t be un-deployed when the soa-infra application. The below steps will help you to un-deploy the SOA composites when the soa-infra application is down.
  • First check the soa logs and identify which composite is causing the problem
  • Download and copy the ShareSoaInfraPartition.ear file to $MWHOME/Oracle_SOA/common/bin
  • Execute $MWHOME/Oracle_SOA/common/bin/wlst.sh
  •  connect()
             Provide username, password and server URL
  • Run the below command to deploy ShareSoaInfraPartition.ear
                 deploy('ShareSoaInfraPartition','ShareSoaInfraPartition.ear',upload='true')
  • Now run the below command by changing the "toLocation" ('/fmw11g/Middleware' is some location path on SOA machine)
   exportMetadata(application='ShareSoaInfraPartition',server='AdminServer',toLocation='/fmw11g/Middleware',docs='/deployed-composites/deployed-composites.xml')
A deployed-composites folder will be created at "toLocation" path with deployed-composites.xml in it
  • Delete the composite which is causing the problem from deployed-composites.xml and save the file
          for example FormatDate composite like below
           
                 
                
               

           

  • Now run the below command by changing the "fromLocation" (this should be the same location as previous)
            importMetadata(application='ShareSoaInfraPartition',server='AdminServer',fromLocation='/fmw11g/fmw1115/Middleware',docs='/deployed-composites/deployed-composites.xml')

 Now bounce your server and the composite will not be deployed by SOA when it comes up and hence that should bring your soa-infra up.

Oracle SOA Suite 11g - Changing the service endpoint URL dynamically through EM console

Sometimes we may need to change the default endpoint location of the Oracle SOA Suite composite service through the EM console.
The below steps help us to change the endpoint URL’s of the references through the EM console.
  • In EM console click on the Composite
  • Scroll down to Service and References section

  • Click on Reference link and properties tab
  • Change Endpoint Address to the desired location and click apply

The new request will be send to the new endpoint location configured through the EM console.
The new endpoint configuration can be removed to send the request to the default endpoint location configured in the WSDL.

Monday, June 4, 2012

Restrict the access to SOA Composite Service based on the User Role (Authorization to the SOA Composite Service) – Oracle SOA Suite 11g


Restrict the access to SOA Composite Service based on the User Role (Authorization to the SOA Composite Service) – Oracle SOA Suite 11g

Sometimes we may need to restrict the access to the SOA composite service based on the user role.
HTTP basic authentication and an authorization policy can be used to ensure that access is only granted to users who are members of a particular role.

This blog will explain the steps to enable authorization to our composite service. 

Configure the Users and Group:
  • Login to the Weblogic console ('http://:/console')
  • In the left menu select 'Security Realms'
  • Select the realm where you want to create the users and groups.  The default is 'myrealm'
  • At the top select the 'Users and Groups' tab
  • Select User tab and Click 'New' and enter your user name and pwd.  Here am creating the user albin and albin1, create as many users as you want
  • Select ‘Groups’ tab and create a new group.  Here I am creating  ‘IntegrationGroup’
  • Go back to the users and click on  'Albin'
  • Select the 'Groups' tab and add ‘IntegrationGroup’.  The user albin1 will not be part of this group.

Configure the Application Role:
  • Login to EM console
  • Right Click on WebLogic Domain -- >Select Security and Click on Application Roles

  •  Click on 'Create' to configure a new Application Role


  •  Select 'soa-infra' in the 'Application’ drop down and enter the Role name as ‘IntegrationRole’
  • Click on Add Group in the Member section

  •  Select the group – IntegrationGroup, we created earlier as shown below and Click on OK
 


  • Click on OK
Create the Application Policy:
  • Right Click on WebLogic Domain from Em console -- > Select Security and Click on Application Polices
  • Click on Create button

  • Click on the Add button in the Permissions section to configure the Permission details.


  • In the Customize section enter the Permission Class as oracle.wsm.security.WSFunctionPermission and enter '*' for both Resource Name and Permission Actions (In the actual implementation instead of “*” you have to specify the exact value) and Click OK.
  • Click on the Add Application Role button in the Grantee section to add grantees for the Policy.
  •  Select the IntegrationRole created above as shown below and Click on OK.


  • Click on OK, the configured policy details will be displayed as shown.
 

 Configure the Authentication/Authorizations policy to the Composite Service:
  • Open the composite.xml 
  • Right click on the client service and click on Configure WS Polices


  • Add the security Policy oracle/wss_http_token_client_policy and oracle/binding_permission_authorization_policy for authentication/authorization in the security section.

Deploy the composite to the server. The same policy configuration can also be done through EM console after the deployment of the composite.

Testing From SOAP UI:

First try with the user ‘albin’; we will receive the success response message from the server.
 

Try with the user ‘albin1’; we will receive the Authorization error response message from server.
 
 
Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

Sunday, June 3, 2012

Invoking a web service from the composite with HTTP Basic authentication – Oracle SOA Suite 11g


Sometimes we may need to invoke the HTTP Basic authentication enabled web service from the  Oracle SOA Suite composite.
This blog will explain the steps to invoke the web service with the HTTP basic authentication enabled.

Configure the credential store:

The credential should be configured in the credential store to invoke the web service with the HTTP Basic authentication enabled.

If the credential store is not configured already then follow the below steps to do the same.

  • Login to EM
  • Right Click on WebLogic Domain -- >Select Security and Click on Credentials


  • Click on Create Map
   
  • Enter the map name as 'oracle.wsm.security' and click OK



  • Select the new Map and click on Create Key


  • Enter the key name as 'basic.credentials'
  • Enter the user name and password; I am using the admin user 'weblogic' (we can use the different user)

  • Click OK



Configure the Authentication policy to the Composite Service:

  • Open the composite.xml   
  • Right click on the External reference service for which the HTTP Basic authentication is required for the invocation.

  •  Add the security Policy oracle/wss_http_token_client_policy for authentication in the security section.



Deploy the composite to the server. The same policy configuration can also be done through EM console after the deployment of the composite.


Testing From SOAP UI

No need to provide any username/password while invoking the service, the username/password configured in the credential store will be used to call the reference service.The success response will be received from the web service if the credential configured in the credential store is correct.


Recovering the Oracle BPEL instances from the Recovery Queue – Oracle SOA Suite 11g

 
Recovering the Oracle BPEL instances from the Recovery Queue – Oracle SOA 11g :
Sometimes the BPEL instances may go to the recovery queue, the instances in the recovery queue can be recovered manually to continue the processing.
Below are the some of the reasons the instances to go to manual recovery.
  1. There are not enough threads or memory to process the message.
  2. The server shuts down or crash before it finishes processing the BPEL message
  3. The engine could not finish processing the message before reaching the time-out as dictated by the transaction-timeout configuration

Recovering the BPEL instances:-
  1. Login  to EM console
  2. Right click on soa-infra  ,Click on Service Engine --> BPEL
  3. Click on Recovery tab
  4. Change the Type accordingly(Invoke,Activity,Callback) and the Message state to “Undelivered”  and click on search
  5. All the recoverable messages that match the criteria will be displayed.
  6. Select the required messages and click on Recovery button.
 






Tuesday, May 8, 2012

Proxy Configuration in Oracle SOA Suite 11g


Proxy Configuration in Oracle SOA Suite 11g:

If we are invoking any web services and it needs to be passed through Proxy then the proxy server details should be configured on soa11g server. In SOA11g we have two ways of configuring the proxy. The first way is to configure the Server Level and the second level is Composite level.
Configuration can be done using Enterprise manager/JDeveloper
1) Server Level from EM console:
 Login to the em console
Navigate to SOA Infrastructure->SOA Administration->Common Properties -> More SOA Infra Advanced Configuration Properties...
Enter the HttpProxyHost, HttpProxyPort, HttpProxyUsername and HttpProxyPassword
Click on Apply and then restart Server


 
2) Composite service Level from EM console:
If we want to configure the configure proxy only to a particular composite the can be configured in composite Level.
Navigate to the Process in EM and in the dashboard click on the Service (Adapter used to invoke the web service to which the proxy is required) under the Services and References section.
Click on the properties tab and you can find the different properties as shown below where you can fill the Proxyhost, ProxyPort.




3) Setting Composite service Level from JDeveloper:
Open the Composite.xml and select the service to which the proxy configuration is required.
Add the binding properties oracle.webservices.proxyHost, oracle.webservices.proxyPort
Click on Save.




Thursday, May 3, 2012

java.lang.ArrayIndexOutOfBoundsException in DB Adapter – Oracle SOA Suite 11g


java.lang.ArrayIndexOutOfBoundsException in DB Adapter – Oracle SOA Suite 11g:

The DB Adapter insert were intermittently failing with the following exception in our Oracle SOA Suite environments. 

Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'update' failed due to: DBWriteInteractionSpec Execute Failed Exception. update failed. Descriptor name: [Update_Interfacebuffer.InterfaceBuffer].
Caused by java.lang.ArrayIndexOutOfBoundsException. Please see the logs for the full DBAdapter logging output prior to this exception. This exception is considered not retriable, likely due to a modelling mistake.

It is caused by using a non-synchronized class instead of a synchronized class. Read the Metalink Note 1332114.1 for more details about this.

Oracle suggested us to apply the below patch to resolve the issue.

Patch 11866793: DBADAPTER INSERT OPERATION IS FAILING INTERMITTENTLY WITH NPE

The issue is observed in the following versions 11.1.1.3.0, 11.1.1.4.0 and 11.1.1.5.0 and Fixed in the version 11.1.1.6.0.

The issue got resolved after applying the patch.


1 comment:

  1. it is very excellent blog and useful article thank you for sharing with us , keep posting learn more Oracle SOA Online course

    ReplyDelete