Skip to Content
0
Former Member
Mar 24, 2009 at 12:24 PM

Adaptor Module creating wrong version of class

30 Views

Hi Guys,

I wonder if anyone can possibly shed any light on the following problem.

I am trying to create an instance of apache Axis' MessageFactory

However every time the Adaptor Module (Called ClientAuthentication) is called the following class is created - copied from the Message Display Tool

ClientAuthentication: com.sap.engine.services.webservices.jaxm.soap.MessageFactoryImpl created

I have the following in my imports

import org.apache.axis.soap.MessageFactoryImpl;
import javax.xml.soap.SOAPBody; 
import javax.xml.soap.SOAPEnvelope; 
import javax.xml.soap.SOAPHeader; 
import javax.xml.soap.SOAPMessage; 
import javax.xml.soap.SOAPPart; 

And, at this stage, I have explicitly referenced the axis class when creating the instance:

// MessageFactory mf = MessageFactory.newInstance();
// Creating com.sap.engine.services.webservices.jaxm.soap.SOAPMessageImpl
javax.xml.soap.MessageFactory mf= org.apache.axis.soap.MessageFactoryImpl.newInstance();
Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS, "ClientAuthentication: " + mf.getClass().getName() + " created");

Looking at the class in the exported EJB via a decompiler shows

MessageFactory mf = MessageFactoryImpl.newInstance();
Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS, "ClientAuthentication: " + mf.getClass().getName() + " created");

And the result is a com.sap.engine.services.webservices.jaxm.soap.MessageFactoryImpl is created resulting in the wrong SOAPMessage which crashes when returning it's SOAPPart

Any help would be appreciated,

John