cancel
Showing results for 
Search instead for 
Did you mean: 

javax.ejb.EJBException: ASJ.ejb.005044 (Failed in component: sap.com/functions~ear) Exception raised from invocation of public commonj.sdo.DataObject

nikhil_bose
Active Contributor
0 Kudos

Hi Experts,

I'm creating a simple EJB with one parameter input. I've followed below document. After deployed ear and run EJB mapping function getting exception. Please help.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10cdec44-0add-2c10-078a-93124d0b5...

System exception
[EXCEPTION]
javax.ejb.EJBException: ASJ.ejb.005044 (Failed in component: sap.com/functions~ear) Exception raised from invocation of public commonj.sdo.DataObject com.sap.bpem.transformation.Transformations.invokeSdo(commonj.sdo.DataObject,com.sap.glx.mapping.execution.api.invoker.SdoInvoker$InvocationContext) method on bean instance com.sap.bpem.transformation.Transformations@56e085a0 for bean sap.com/functions~ear*annotation|sap.com~functions~ejb.jar*annotation|Transformations in application sap.com/functions~ear.; nested exception is: java.lang.NullPointerException: Property is null
java.lang.NullPointerException: Property is null
at com.sap.sdo.impl.objects.GenericDataObject.getPropValue(GenericDataObject.java:1022)
at com.sap.sdo.impl.objects.GenericDataObject.set(GenericDataObject.java:619)
at com.sap.sdo.impl.objects.GenericDataObject.setString(GenericDataObject.java:756)
at com.sap.bpem.transformation.Transformations.invokeSdo(Transformations.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:50)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:37)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:25)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:17)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:138)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:172)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:99)
at com.sun.proxy.$Proxy4101.invokeSdo(Unknown Source)
at com.sap.mapping.lib.execution.implementation.invoker.MediatedSdoInvoker.invokeNative(MediatedSdoInvoker.java:160)

Accepted Solutions (1)

Accepted Solutions (1)

junwu
Active Contributor

your code please.

nikhil_bose
Active Contributor
0 Kudos

public DataObject invokeSdo(DataObject sourceDO, SdoInvoker.InvocationContext invocationContext){

  _location.debugT(sourceDO+"");

  Property name = sourceDO.getType().getProperty( $name);

  String formattedname = "Hello" + name.toString();

  DataObject root = invocationContext.createOutputDataObject();

  Property result = root.getType().getProperty( OUTPUT);

  DataObject outputDO = root.createDataObject( result);

  outputDO.set( result, formattedname);

  return root;

  }

junwu
Active Contributor
0 Kudos

try this  root.setXXXX(result,formattedname)

remove

  DataObject outputDO = root.createDataObject( result);

  outputDO.set( result, formattedname);

nikhil_bose
Active Contributor
0 Kudos

Jun,

Happy to see you again!

tried both ways - no luck!

- Nikhil Bose

junwu
Active Contributor
0 Kudos

can  you paste the full code?

can u point out which line of your code throw the error?

nikhil_bose
Active Contributor
0 Kudos

@Local

public interface TransformationsLocal extends Function, SdoInvoker {

  public DataObject invokeSdo(DataObject sourceDO, InvocationContext invocationContext);

}

@Stateless

public class Transformations implements TransformationsLocal {

  private static final String INPUT = "$name";

  private static final String OUTPUT = "$output";

  private Location _location = Location.getLocation(Transformations.class);

  public Transformations(){ }

  public DataObject invokeSdo(DataObject sourceDO, SdoInvoker.InvocationContext invocationContext){

  Property name = sourceDO.getType().getProperty( INPUT);

  String formattedname = "Hello " + name.toString();

  DataObject root = invocationContext.createOutputDataObject();

  Property result = root.getType().getProperty( OUTPUT);

  root.set( result, formattedname);

  return root;

  }

  

}

junwu
Active Contributor
0 Kudos

your problem is solved or not?

nikhil_bose
Active Contributor
0 Kudos

Yes. Exception was at set and get 'Property' of DataObject. and I believed the debug messages were on but it was not - so logs were empty!

Thanks Jun.

Answers (0)