cancel
Showing results for 
Search instead for 
Did you mean: 

SAP PI 7.0 does not recognize Bouncy Castle libraries

Former Member
0 Kudos

We are following this blog (). This blog in the second step says that we need to deploy the bouncy castle libraries in the j2re1.4.2_17libext directory. To do this, we have copy-pasted the bcprov-ext-jdk14-146.jar and bcpg-jdk14-146.jar in /oracle/PID/102_64/jre/1.4.2/lib/ext directory, and then we have restarted our PI server.

When we test our mapping program, in sxmb_moni we have the next error:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Receiver Grouping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">LINKAGE_ERROR</SAP:Code>

<SAP:P1>csi/PGPDecryption</SAP:P1>

<SAP:P2>http://XXXXXXXXXX</SAP:P2>

<SAP:P3>f1e87441-3b3a-11e0-8c64-f8adac150b2c</SAP:P3>

<SAP:P4>-1</SAP:P4>

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>Incompatible class versions (linkage error)</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

And the next trace:

<Trace level="3" type="T">Load f1e87441-3b3a-11e0-8c64-f8adac150b2c, http://XXXXXXXXXX, -1, org/bouncycastle/jce/provider/BouncyCastleProvider.class.</Trace>

<Trace level="3" type="T">Search org/bouncycastle/jce/provider/BouncyCastleProvider.class (http://producte_intermedi.csi, -1) in swcv f1e87441-3b3a-11e0-8c64-f8adac150b2c.</Trace>

<Trace level="3" type="T">Does not found exact entry. Search in other namspaces.</Trace>

<Trace level="3" type="T">Search org/bouncycastle/jce/provider/BouncyCastleProvider.class (-1) in swcv f1e87441-3b3a-11e0-8c64-f8adac150b2c without namespace.</Trace>

<Trace level="1" type="T">Class not found: org.bouncycastle.jce.provider.BouncyCastleProvider</Trace>

<Trace level="1" type="T">com.sap.aii.ibrun.server.mapping.persist.ResourceNotFoundException: Unable to find resource org/bouncycastle/jce/provider/BouncyCastleProvider.class (http://XXXXXXXXX, f1e87441-3b3a-11e0-8c64-f8adac150b2c, -1) at com.sap.aii.ibrun.server.mapping.persist.DBSwcvMappingPersistor.getInputStream(DBSwcvMappingPersistor.java:325) at com.sap.aii.ibrun.server.mapping.persist.DBSwcvMappingPersistor.readFile(DBSwcvMappingPersistor.java:203) at com.sap.aii.ibrun.server.mapping.persist.DBSwcvMappingPersistor.readClass

Can anybody help us to find the reason why our server can not recognize those libraries?

Thanks

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

First we imported the Bouncy Castle libraries in the Imported Archives. In this case our PI system recognizes the libraries but it does not work. The blog we mentioned () says that if we import the libraries in the Imported Archives the mapping will not work and that we have to deploy the libraries in the /lib/ext directory. For this reason we are trying to import the libraries by this alternative way.

Former Member
0 Kudos

This post seems dated and I came across this researching another PI problem, however I had a similar problem that was resolved by defining the "ClassPath" to the bouncy castle jar files through the configtool for the instance you are using.  Also be sure the bouncy castle jar file are for the release of Java you are using.

Configtool > cluster-data > template > instance - ID#####(hostname)  click on the instance in the left pane then select the VM Environment tab and update the ClassPath.

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

add those libraries to IR as external archives

Regards,

Michal Krawczyk