Hi java mapping experts,
I am trying to use PI JAVA mapping to get data from a secure site via HTTPS. The site requires login credential; I use class Authenticator to include username and password in the java program and it works fine. I run the java program in NWDS and it returns the data successfully from the site without referring to any certificates. The java program uses class javax.net.ssl.HttpsURLConnection to do the connection. But when I import the jar file into PI java mapping, I am getting the following error. It appears that the incompatibility between the two classes (javax.net.ssl.HttpsURLConnection and iaik.protocol.https.HttpsURLConnection) caused problem. Somehow PI automatically tries to use the class type of iaik.protocol.https.HttpsURLConnection even though it is not the class that the java program uses. BTW, we are on PI 7.1.
Some info from SXMB_MONI is lised below.
<SAP:Stack>StreamTransformationException triggered by application mapping program com/XXXXXX/cybersource/cybersource; class iaik.protocol.https.HttpsURLConnection:libr~</SAP:Stack>
<Trace level="1" type="T">Java mapping com/XXXXXX/cybersource/cybersource has thrown a StreamTransformationException. Thrown: com.sap.aii.mapping.api.StreamTransformationException: class iaik.protocol.https.HttpsURLConnection:library:mail-activation-iaik@com.sap.engine.boot.loader.ResourceMultiParentClassLoader@3e0f5f77@alive incompatible with class javax.net.ssl.HttpsURLConnection:null at com.fossil.cybersource.cybersource.doTheWork(cybersource.java:179) at com.fossil.cybersource.cybersource.transform(cybersource.java:30) at
I need your expertise to shed some light on this for me. Thanks in advance for your help and appreciate your time on this. Below are the items that I am searching for the answers.
- · Has anybody used class javax.net.ssl.HttpsURLConnection in PI mapping successfully for HTTPS? If so, how do you get around the incompatibility issue?
- · If we have to use class iaik.protocol.https.HttpsURLConnection, is it required to import certificates to the trustStore? The location of the trustStore at NWDS could be different from that in PI server, how do you make it work in both cases with the same java program?
Hopefully, you can provide me directions in detail. Again, your help is greatly appreciated.
P.S. My NWDS is a standalone installation not linked to our PI system.
Thanks,
Shawn