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…
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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:
- Log in to Oracle WebLogic
Server Administration Console.
- In the Domain Structure, select
Services > JTA
- Increase the JTA transaction
timeout value to some higher value like 3600
Change the BPEL EJB transaction timeout
settings:
- Log in to Oracle WebLogic
Server Administration Console.
- In the Domain Structure, click
Deployments.
- Expand soa-infra > EJBs.
- Update the following EJBs
transaction Timeout value to some higher value like 1200:
BPELActivityManagerBean
BPELEngineBean
BPELInstanceManagerBean
BPELProcessManagerBean
BPELServerManagerBean
- Click Save.
- 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"
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.
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.
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()
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.
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.
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="">
30-oct-2013>
No logs are getting printed after this.
Node Manager Log File:
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>
<30-oct-2013 11:09:44=""> 30-oct-2013>
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.
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
####
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.
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.
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
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)
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.
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.
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.
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.
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)
(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.
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:
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.
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:
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
$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.
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.
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.
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.
- There are not enough threads or memory to
process the message.
- The server shuts down or crash before it
finishes processing the BPEL message
- The engine could not finish processing the
message before reaching the time-out as dictated by the
transaction-timeout configuration
Recovering the BPEL instances:-
- Login to EM console
- Right click on soa-infra ,Click on
Service Engine --> BPEL
- Click on Recovery tab
- Change the Type
accordingly(Invoke,Activity,Callback) and the Message state to
“Undelivered” and click on search
- All the recoverable messages that match
the criteria will be displayed.
- 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.
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.
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.
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.
it is very excellent blog and useful article thank you for sharing with us , keep posting learn more Oracle SOA Online course
ReplyDelete