Tuesday 28 March 2017

RCU fails while creating soainfra schema with ORA-01450: maximum key length (6398) exceeded

========================================================================
Applies to:
Weblogic : 12.2.1.2
OSB: 12.2.1.2

========================================================================
Problem Summary:
Creation of SOA INFRA schema using RCU is failing  becuase of ORA-01450: maximum key length (6398) exceeded

Error:
ORA-01450: maximum key length (6398) exceeded
File:/u01/poc/osb_home/fmw_12_2_1_2/soa/common/sql/soainfra/sql/oracle/createschema_soainfra_oracle_LARGE.sql
Statement:ALTER TABLE B2B_CONTROL_NUMBER
    ADD CONSTRAINT B2B_CONTROL_NUMBER_PK PRIMARY KEY (SENDER_NAME, RECEIVER_NAME, DOC_PROTOCOL_NAME, DIRECTION, NAME, IS_DEFAULT)

========================================================================
Root Cause:
We are facing above problem because of the NLS_LENGTH_SEMANTICS parameter which has been set to CHAR in database. It's not a supported setting for schema creation using RCU. Oracle OSB only supports schemas in a byte-mode(BYTE) database.

========================================================================
How to verify:
Connect to database and run below SQL to verify setting,
show parameters nls_length_semantics

========================================================================
Resolution:
nls_length_semantics initialization parameter on the database where the schemas going to reside must be set to BYTE.

To set the nls_length_semantics parameter to BYTE, login to the database as SYSDBA and issue the following command,
alter system set NLS_LENGTH_SEMANTICS=BYTE scope=both;

Once we change nls_length_semantics please restart the database for changes to take effect.

Now rerun RCU to create schemas.

Sunday 26 March 2017

javax.xml.ws.WebServiceException:javax.xml.soap.SOAPException: Message send failed: Received fatal alert: handshake_failure

========================================================================
Applies to:
BPEL: 12.1.3
Weblogic : 12.1.3/12.2.1.2
OSB: 12.2.1.2

========================================================================
Problem Summary:
BPEL (12.1.3) commposite is unable to call/invoke OSB(12.2.1.2) weservice becuase of handshake_failure.

Unable to invoke endpoint URI "https://puruhost:7004/osbHttpsTest" successfully due to: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: Received fatal alert: handshake_failure

Error:
ExecuteThread: '2' for queue: 'weblogic.socket.Muxer', fatal error: 80: problem unwrapping net record
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
ExecuteThread: '2' for queue: 'weblogic.socket.Muxer', SEND TLSv1 ALERT:  fatal, description = internal_error
ExecuteThread: '2' for queue: 'weblogic.socket.Muxer', WRITE: TLSv1 Alert, length = 2
ExecuteThread: '2' for queue: 'weblogic.socket.Muxer', called closeOutbound()
ExecuteThread: '2' for queue: 'weblogic.socket.Muxer', closeOutboundInternal()
[Raw write]: length = 7

[2017-03-21T07:42:09.922-05:00] [bpel_poc_ms01] [ERROR] [] [oracle.integration.platform.blocks.soap] [tid: [ACTIVE].ExecuteThread: '18' for queue: 'weblogic.kernel.Default (self-tunin
g)'] [userId: weblogic] [ecid: dab9a6ff-56f4-4909-a3da-888dd1c70014-000a3325,1:28719] [APP: soa-infra] [oracle.soa.tracking.FlowId: 590083] [oracle.soa.tracking.InstanceId: 680805] [oracle.
soa.tracking.SCAEntityId: 360005] [composite_name: bpelToOSBTest!1.0] [FlowId: 0000LfkssnqBT8ELN64Eye1OmvaI00001R] Unable to dispatch request to https://puruhost:7004/osbHttpsTest due to exception[[
javax.xml.ws.WebServiceException: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: Received fatal alert: handshake_failure
        at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:1381)
        at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:237)
        at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:108)
        at oracle.integration.platform.blocks.soap.AbstractWebServiceBindingComponent.dispatchRequest(AbstractWebServiceBindingComponent.java:629)
        at oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.processOutboundMessage(WebServiceExternalBindingComponent.java:367)
        at oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.sendSOAPMessage(WebServiceExternalBindingComponent.java:1508)
        at oracle.integration.platform.blocks.soap.WebServiceExternalBindingComponent.request(WebServiceExternalBindingComponent.java:957)
        at oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest(SynchronousMessageHandler.java:151)
.
.
.
Caused by: javax.xml.soap.SOAPException: javax.xml.soap.SOAPException: Message send failed: Received fatal alert: handshake_failure
        at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call2(HttpSOAPConnection.java:234)
        at oracle.j2ee.ws.common.transport.HttpTransport.transmit(HttpTransport.java:75)
        at oracle.j2ee.ws.common.async.MessageSender.call(MessageSender.java:58)
        at oracle.j2ee.ws.common.async.Transmitter.transmitSync(Transmitter.java:105)
        at oracle.j2ee.ws.common.async.Transmitter.transmit(Transmitter.java:60)
        at oracle.j2ee.ws.common.async.RequestorImpl.transmit(RequestorImpl.java:258)
        at oracle.j2ee.ws.common.async.RequestorImpl.invoke(RequestorImpl.java:93)
        at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:1315)
        ... 92 more
Caused by: javax.xml.soap.SOAPException: Message send failed: Received fatal alert: handshake_failure
        at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.post2(HttpSOAPConnection.java:523)
        at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection$PrivilegedPost.run(HttpSOAPConnection.java:1346)
        at java.security.AccessController.doPrivileged(Native Method)
        at oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnection.call2(HttpSOAPConnection.java:232)
        ... 99 more
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
        at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
        at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
        at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
========================================================================
Root Cause:
BPEL(12.1.3) is invoking OSB(12.2.1.2) service over https and client is throwing handshake_failure becuase of mismatch in TLS protocol version.
BPEL is sending request using TLSv1 and osb server is expecting TLSv1.2

========================================================================
Resolution:
Configure -Dhttps.protocols=TLSv1.2 as a JAVA_OPTIONS in startup scripts or as a server start argument.

Wednesday 15 March 2017

java.sql.SQLException: ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions

========================================================================
Applies to:
BPEL: 12.2.1.2
Weblogic : 12.2.1.2

========================================================================
Problem Summary:
BPEL composite is throwing below error on mediator fault processing instead of actual error.

Audit Level is set to PRODUCTION. We have seen same behavior with Audit Level = DEVELOPMENT.

Error:
####<Sep 6, 2016 1:43:38 AM IST> <Error> <EJB> <puruNode01> <bpel_poc_ms01> <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <03e82632-48e7-42c3-ba89-c0e44ee16691-0003f912> <1473144218489> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean.syncCreateAndInvoke(oracle.soa.management.ComponentDN,java.lang.String,java.lang.String,oracle.fabric.common.NormalizedMessage)],Xid=BEA1-1BBC599C191E44C1322C(1400043235),Status=Rolled back. [Reason=javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
 Internal Exception: java.sql.SQLException: ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions

 Error Code: 14300
 Call: INSERT INTO AUDIT_DETAILS (CIKEY, DETAIL_ID, BIN, BIN_CSIZE, BIN_USIZE, DOC_REF, FLOW_ID, CI_PARTITION_DATE, SCA_PARTITION_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
 bind => [9 parameters bound]
 Query: InsertObjectQuery(AuditDetails -----
 flowId: 400225
 componentId: 431223
 detailId: 170201
 docRef: null
 binUsize: 0
 binCsize: 0
 partitionDate: null)],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=1,seconds left=59,useSecure=false,XAServerResourceInfo[eis/MQ/TestOutbound]
 .
 .
 .
 weblogic.transaction.RollbackException: Unexpected exception in beforeCompletion: sync=org.eclipse.persistence.transaction.JTASynchronizationListener@4c6a7b73
 Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
 Internal Exception: java.sql.SQLException: ORA-14300: partitioning key maps to a partition outside maximum permitted number of partitions

 Error Code: 14300
 Call: INSERT INTO AUDIT_DETAILS (CIKEY, DETAIL_ID, BIN, BIN_CSIZE, BIN_USIZE, DOC_REF, FLOW_ID, CI_PARTITION_DATE, SCA_PARTITION_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
 bind => [9 parameters bound]
 Query: InsertObjectQuery(AuditDetails -----
 flowId: 400225
 componentId: 431223
 detailId: 170201
 docRef: null
 binUsize: 0
 binCsize: 0
 partitionDate: null)
 at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1985)
 at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:369)
 at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:260)
 at weblogic.ejb.container.internal.BaseLocalObject.postInvoke1(BaseLocalObject.java:335)
 at weblogic.ejb.container.internal.BaseLocalObject.__WL_postInvokeTxRetry(BaseLocalObject.java:204)
 at weblogic.ejb.container.internal.SessionLocalMethodInvoker.invoke(SessionLocalMethodInvoker.java:46)
 at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean_51369e_ICubeEngineLocalBeanImpl.syncCreateAndInvoke(Unknown Source)
 at com.collaxa.cube.engine.delivery.DeliveryHandler.callCreateAndInvoke(DeliveryHandler.java:990)

========================================================================
Root Cause:
Mediator fault isn't propagating expected tracking properties when mediator processing fails

========================================================================
Resolution:
Solution1: Temporary fix of this error is to set Audit Level = Off, in this case mediator fault will work as expected.

How to change audit level?
Login to EM console and go to SOA-Infra -> SOA Administration -> Common Properties
Audit Level select “Off” from drop down and click apply

Solution2: For permanent fix oracle advised us to apply below patch.            
Patch: 24794863 12.2.1.2.0 CI_PARTITION_DATE NULL. Error Code: 20000/ORA-14300 on Mediator fault processing.

Monday 13 March 2017

Unable to access jenkins URL becuase of java.lang.NoSuchMethodError: org.jvnet.tiger_types.Types.bind

========================================================================
Applies to:
Weblogic: 12.2.1.2
JNEKINS : 2.32.3 (LTS release)
========================================================================
Problem Summary:
Have deployed jenkins (2.32.3 LTS release) application war file on weblogic 12.2.1.2 server for build and deploy automation.
Applicaton status is active and jenkins is fully up and running.

-------- Log snippet ----------------
Mar 13, 2017 4:10:01 PM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
-------------------------------------

Though jenkins is fully up and running , we are unable to access jenkins url http://localhost:7001/jenkins

Error:
--------------------- Browser Error -----------------------------
Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error

The server encountered an unexpected condition which prevented it from fulfilling the request.
--------------------------------------------------------

--------------------- Weblogic Server logs -----------------
<Mar 13, 2017, 4:10:52,250 PM IST> <Error> <HTTP> <BEA-101020> <[ServletContext@1185538388[app:jenkins module:jenkins.war path:null spec-version:3.1]] Servlet failed with an Exception
java.lang.NoSuchMethodError: org.jvnet.tiger_types.Types.bind(Ljava/lang/reflect/Type;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
at org.kohsuke.stapler.ClassDescriptor.findMethods(ClassDescriptor.java:155)
at org.kohsuke.stapler.ClassDescriptor.findMethods(ClassDescriptor.java:142)
at org.kohsuke.stapler.ClassDescriptor.<init>(ClassDescriptor.java:84)
at org.kohsuke.stapler.lang.KlassNavigator$1.getFunctions(KlassNavigator.java:216)
at org.kohsuke.stapler.lang.KlassNavigator$1.getFunctions(KlassNavigator.java:141)
Truncated. see log file for complete stacktrace
>
<Mar 13, 2017, 4:10:52,254 PM IST> <Error> <HTTP> <BEA-101107> <[ServletContext@1185538388[app:jenkins module:jenkins.war path:null spec-version:3.1]] Problem occurred while serving the error page.
javax.servlet.ServletException: java.lang.NoSuchMethodError: org.jvnet.tiger_types.Types.bind(Ljava/lang/reflect/Type;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:391)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:247)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:625)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:282)
at weblogic.servlet.internal.ForwardAction.run(ForwardAction.java:22)
Truncated. see log file for complete stacktrace
Caused By: java.lang.NoSuchMethodError: org.jvnet.tiger_types.Types.bind(Ljava/lang/reflect/Type;Ljava/lang/reflect/GenericDeclaration;Ljava/lang/reflect/ParameterizedType;)Ljava/lang/reflect/Type;
at org.kohsuke.stapler.ClassDescriptor.findMethods(ClassDescriptor.java:155)
at org.kohsuke.stapler.ClassDescriptor.findMethods(ClassDescriptor.java:142)
at org.kohsuke.stapler.ClassDescriptor.<init>(ClassDescriptor.java:84)
at org.kohsuke.stapler.lang.KlassNavigator$1.getFunctions(KlassNavigator.java:216)
at org.kohsuke.stapler.lang.KlassNavigator$1.getFunctions(KlassNavigator.java:141)
Truncated. see log file for complete stacktrace
>
------------------------------------------------------------
========================================================================
Root Cause:
Weblogic won't load the JARs in the jenkins WAR before the Weblogic installed JARs which is resulting an error javax.servlet.ServletException: java.lang.NoSuchMethodError: org.jvnet.tiger_types.Types.bind

tiger-types-2.2.jar exists in jenkins.war under WEB-INF/lib

========================================================================
Resolution:
1. Open weblogic deployment descriptor (weblogic.xml) file located under WEB-INF of jenkins.war
2. Add <wls:package-name>org.jvnet.*</wls:package-name> under prefer application packages in weblogic.xml which ensures package 'org.jvnet.*' contained in the Jenkins war is used ahead of the system class loader version. It contains a method required by Jenkins.
------------ weblogic.xml ------------

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wls="http://www.bea.com/ns/weblogic/90" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
     <wls:weblogic-version>12.2.1.2</wls:weblogic-version>
     <wls:context-root>jenkins</wls:context-root>
     <wls:container-descriptor>
          <wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes>
      <wls:prefer-application-packages>
              <wls:package-name>com.google.common.*</wls:package-name>
 <wls:package-name>org.jvnet.*</wls:package-name>
         </wls:prefer-application-packages>
     </wls:container-descriptor>
</wls:weblogic-web-app>
----------------------------------
3. Save. That's it.
4. Now redeploy jenkins.war with a new change. Make sure jenkins application state is active( fully up and running)
5. Try to access jenkins URL.

Thursday 2 March 2017

Deployment is failing with an error : Composite with same revision ID already exists

========================================================================
Applies to:
Weblogic: 12.2.1.1
BPEL : 12.2.1.1
========================================================================
Problem Summary:
Deployment is failing with an error : Composite with same revision ID already exists

Error:
[12:47:10 PM] ----  Deployment started.  ----
[12:47:10 PM] Target platform is  (Weblogic 12.x).
[12:47:10 PM] Running dependency analysis...
[12:47:10 PM] Building...
[12:47:29 PM] Deploying profile...
[12:47:29 PM] Updating revision id for the SOA Project 'TestMultipleEndpointsPrj.jpr' to '1.0'..
[12:47:29 PM] Wrote Archive Module to C:\JDeveloper\mywork\SOAPractice\TestMultipleEndpointsPrj\deploy\sca_TestMultipleEndpointsPrj.jar
[12:47:33 PM] Deploying sca_TestMultipleEndpointsPrj.jar to partition "default" on server demo_bpel_ms01 [http://localhost:4811]
[12:47:33 PM] Processing sar=/C:/JDeveloper/mywork/SOAPractice/TestMultipleEndpointsPrj/deploy/sca_TestMultipleEndpointsPrj.jar
[12:47:33 PM] Adding sar file - C:\JDeveloper\mywork\SOAPractice\TestMultipleEndpointsPrj\deploy\sca_TestMultipleEndpointsPrj.jar
[12:47:33 PM] Preparing to send HTTP request for deployment
[12:47:33 PM] Creating HTTP connection to host:ausilwap002.us.dell.com, port:6811
[12:47:33 PM] Sending internal deployment descriptor
[12:47:33 PM] Sending archive - sca_TestMultipleEndpointsPrj.jar
[12:47:38 PM] Received HTTP response from the server, response code=500
[12:47:38 PM] Error deploying archive sca_TestMultipleEndpointsPrj.jar to partition "default" on server demo_bpel_ms01 [http://localhost:4811]
[12:47:38 PM] HTTP error code returned [500]
[12:47:38 PM] Error message from server:
There was an error deploying the composite on demo_bpel_ms01: Composite with same revision ID already exists: default/TestMultipleEndpointsPrj!1.0. Please set the overwrite flag or use different revision ID. Abort deployment..

[12:47:38 PM] Check server log for more details.
[12:47:38 PM] Error deploying archive sca_TestMultipleEndpointsPrj.jar to partition "default" on server demo_bpel_ms01 [http://localhost:4811]
[12:47:38 PM] Deployment cancelled.
[12:47:38 PM] ----  Deployment incomplete  ----.
[12:47:38 PM] Error deploying archive file:/C:/JDeveloper/mywork/SOAPractice/TestMultipleEndpointsPrj/deploy/sca_TestMultipleEndpointsPrj.jar
 (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)

========================================================================
Root Cause:
Composite with same revision ID already exists: default/TestMultipleEndpointsPrj!1.0

========================================================================
Resolution:
1. If you want to redeploy the same version of a SOA composite application on the server then you have to check the overwrite flag. It will over write the existing process with same version.
2. Kindly note that all the running threads with the existing process will be aborted and process will mark as status stale.