July 30, 2009

Can Not view Resubmitting service and process instances on MWS Server.

Description:
user can not find any document or process on the MWS. process instance.
And user also got error from page, when try to open Monitor - Integration - Service to view resubmit services.

Resolution:
  1. edit on IS extended setting watt.server.auditStore=database.
  2. assosiate CentralUsers, ISCoreAudit, ProcessAudit with the database.
  3. restart IS server.

July 23, 2009

MWS 7.1.2 PoolConfigViewPage.tableContent

Description:
error while opening Systerm-Wide >> Database Pool configuration page

Errors:
Detailed Error:
com.webmethods.portlet.PoolConfiguratorException: Unexpected exception
caught: com.webmethods.ccs.engine.model.RepositoryException: Error
retrieving JDBC pool configurations
at com.webmethods.wsclient.poolconfiguratorbean.PoolConfiguratorWSBean.getConfiguredPools(PoolConfiguratorWSBean.java:122)
at com.webmethods.wsclient.poolconfiguratorbean.PoolsList.fetchPools(PoolsList.java:42)
at com.webmethods.portlet.poolconfig.PoolConfigViewPage.getTableContent(PoolConfigViewPage.java:86)
at sun.reflect.GeneratedMethodAccessor183.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:79)

This was working fine and had configured one database pool. But after few days started receinving the above error on the Database Pool configuration page.
No changes have been made to the DB or MWS.

When trying to add a new database pool, get the following error on the Add Pool page:

“Unexpected exception caught: com.webmethods.ccs.engine.model.RepositoryException: Error retrieving JDBC Pool Configurations” 

Resolution:
Drop all the tables as below

-------------------------------------
DROP SEQUENCE CCSCNFGRTN_ID_SEQ;
DROP SEQUENCE CCSLGCLSRVRNDPNT_ID_SEQ;
DROP SEQUENCE CCSLGCLSRVR_ID_SEQ;
DROP SEQUENCE CCSLSCNFGRTN_ID_SEQ;
DROP SEQUENCE CCSLSCNFSSGNMNT_ID_SEQ;
DROP SEQUENCE CCSNVCNFSSGNMNT_ID_SEQ;
DROP SEQUENCE CCSNVLSSSGNMNT_ID_SEQ;
DROP SEQUENCE CCSNVRNMNTSTT_ID_SEQ;
DROP SEQUENCE CCSNVRNMNT_ID_SEQ;
DROP SEQUENCE CCSPHYSCLSRVR_ID_SEQ;
DROP SEQUENCE CCSPLCNFGRTN_ID_SEQ;
DROP SEQUENCE CCSSRVRSSGNMNT_ID_SEQ;
DROP SEQUENCE CCSCNFGRTNPSS_ID_SEQ;


DROP TABLE CCS_ENV_CNF_ASSIGNMENT CASCADE CONSTRAINTS;
DROP TABLE CCS_ENV_LS_ASSIGNMENT CASCADE CONSTRAINTS;
DROP TABLE CCS_LS_CNF_ASSIGNMENT CASCADE CONSTRAINTS;
DROP TABLE CCS_ENVIRONMENT_STATE CASCADE CONSTRAINTS;
DROP TABLE CCS_LOGICAL_SERVER_ENDPOINT CASCADE CONSTRAINTS;
DROP TABLE CCS_SERVER_ASSIGNMENT CASCADE CONSTRAINTS;
DROP TABLE CCS_CONFIGURATION_PASSWORD CASCADE CONSTRAINTS;
DROP TABLE CCS_POOL_CONFIGURATION CASCADE CONSTRAINTS;
DROP TABLE CCS_ALIAS_CONFIGURATION CASCADE CONSTRAINTS;
DROP TABLE CCS_LOGICAL_SERVER CASCADE CONSTRAINTS;
DROP TABLE CCS_PHYSICAL_SERVER CASCADE CONSTRAINTS;
DROP TABLE CCS_ENVIRONMENT CASCADE CONSTRAINTS;
DROP TABLE CCS_CONFIGURATION CASCADE CONSTRAINTS;
DROP TABLE CCS_VERSION CASCADE CONSTRAINTS;

April 30, 2009

Diffrences Between Oci and Thin Driver

Description:
it explain the diffrence between oci and thin driver for accesing oracle database.

Diffrences:
it took from theserverside forum on internet. The diffrences are:
* Oci driver is not thread safe. it causes oci driver tobe slower then thin driver.
* on the fail-over issue, oci driver can preserve a state of it's client, where as the thin driver cannot.
* thin is better performance than oci driver at higher transaction rate and user less CPU.

Defenition:
JDBC Thin Driver
* 100% Pure Java implementation that complies with the JDBC 1.22 standard.
* uses Java Sockets to connect directly to the Oracle Server.
* The driver supports only TCP/IP protocol and requires a TNS listener to be listening on TCP/IP sockets from the database server.
* Because it is written entirely in Java, this driver is platform-independent.
* The JDBC Thin driver does not require Oracle software on the client side
* The JDBC Thin driver connects to any Oracle database of version 7.2.3 and higher

JDBC OCI Driver
* provides an implementation of the JDBC interfaces using the Oracle Call Interface (OCI).
* The OCI driver makes use of the OCI cache, C entry points to OCI, and the OCI library
* The JDBC OCI driver also requires an Oracle client installation including Net8.
* The JDBC OCI driver is compatible with all Oracle versions because it interfaces to Oracle databases through OCI.
* The driver also supports all installed Net8 adapters, including IPC, named pipes, TCP/IP, and IPX/SPX.
* Because the JDBC OCI driver contains C code, it is not suitable for use in applets.

Reference:
http://www.csee.umbc.edu/help/oracle8/java.815/a64685/getsta1.htm
theserverside.com

April 28, 2009

Diagnosing the Integration Server Using the Diagnostic Utility

Desctiption:
It contains information for the server administrator who troubleshoots the Integration Server or maintains diagnostic data from the server.

Resolution:
To diagnose your integration server are:
  • Start your Web browser.
  • Type the following url:
http://[host]:[port]/invoke/wm.server.admin/getDiagnosticData
  • Log on to the Integration Server with a username and password that has administrator privileges.
  • Save the diagnosing file.

Reference : 6-5-SP2_Integration_Server_Administrators_Guide.pdf

Forcing a Timeout During Long-Running SQL Operations in Services and Notifications

Description:
In the JDBC Adapter services or notifications, some of the SQL operations may take a long time to execute. You can force these services or notifications to time out after a specific amount of time.

Resolution:
You specify the number of seconds with the
watt.adapter.JDBC.QueryTimeout property.

To set this property, use the Integration Server Administrator and select Settings > Extended > Edit Extended Settings. Enter this property in the Extended Settings box:
watt.adapter.JDBC.QueryTimeout=value

where value is the number of seconds the adapter waits for the service or the notification to execute before stopping the SQL operation and throwing an exception.

Reference : 6-5_JDBC_Adapter_Users_Guide.pdf

April 26, 2009

How to Enforce Stopping Scheduler

Description:
sometime, we see that scheduler on our Integration Server Admin run forever. this can be indicated by the next run value of the scheduler goes to big Integer value. When we try to Restart the scheduler, we still find that the scheduler still runs.

Resolution:
to force stoping your scheduler, try to edit the property of your scheduler.
  • Open You IS Admin.
  • Open Scheduler List.
  • Suspen the scheduler you want to force stop.
  • Open the scheduler, and change the property of your scheduler. Save Task.
  • Try to activate the scheduler, and you would see that it runs correctly.
  • Rechange the property of the it to the previous value.

April 23, 2009

JDBC Connection Pools

Connection Pools
The Integration Server includes a connection management service that dynamically manages connections and connection pools based on configuration settings that you specify for the connection. All adapter services use connection pooling. A connection pool is a collection of connections with the same set of attributes. The Integration Server maintains connection pools in memory. Connection pools improve performance by enabling adapter services to reuse open connections instead of opening new connections.

Run time Behavior of Connection Pools
When you enable a connection, the Integration Server initializes the connection pool, creating the number of connection instances you specified in the connection's Minimum Pool Size field when you configured the connection. Whenever an adapter service needs a connection, the Integration Server provides a connection from the pool. If no connections are available in the pool, and the maximum pool size has not been reached, the server creates one or more new connections (according to the number specified in the Pool Increment Size field) and adds them to the connection pool. If the pool is full (as specified in Maximum Pool Size field), the requesting service will wait for the Integration Server to obtain a connection, up to the length of time specified in the Block Timeout field, until a connection becomes available. Periodically, the Integration Server inspects the pool and removes inactive connections that have exceeded the expiration period that you specified in the Expire Timeout field.
If the connection pool initialization fails because of a network connection failure or some other type of exception, you can enable the system to retry the initialization any number of times, at specified intervals.

Reference : 6-5_JDBC_Adapter_Users_Guide.pdf