Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

workbench cant find custom JavaType value objects

Avatar

Level 1
Hi all,

We have developed a custom component that uses various custom Java Objects (POJOS). We have specified the java objects in the component.xml file as:











using both true and false for the "standard" attribute. (neither seem to have an effect on the end result)

When within workbench we can create processes that use the custom java types as input and output variables.

We have created one process that returns a list of custom java objects and this works very well.

however when we try to send an instance of custom java object to the process as the input variable(either from within workbench or from a flex cliente using the Remoting interface) the call fails with the following errors:

From Flex Client:
--------------------------------------------------------------------
Root cause: flex.messaging.MessageException: Class cat.x.y.cairngorm.vo.DocumentEstatVO could not be loaded by any available classloader at com.adobe.idp.dsc.provider.impl.lcr.ServiceInvoker.createFromASObject(ServiceInvoker.java:560)
--------------------------------------------------------------------

From workbench instanciating a new javaobject and passing it as the input parameter:
---------------------------------------------------------------------
Caused by: Sourced file: inline evaluation of: ``import cat.x.y.cairngorm.vo.DocumentEstatVO; try { DocumentEstatVO do . . . '' : Typed variable declaration : Class: DocumentEstatVO not found in namespace : at Line: 5 : in file: inline evaluation of: ``import cat.x.y.cairngorm.vo.DocumentEstatVO; try { DocumentEstatVO do . . . '' : DocumentEstatVO
at bsh.BSHAmbiguousName.toClass(Unknown Source)

---------------------------------------------------------------------

we feel it has something to do with LC not being able to find the class files for the custom classes, but i dont understand how we are able to invoke a process and get a a list of these "unfindable" classes.

Any help would be greatly appreciated.

Is there a tutorial out there connecting Flex to LC Process Management?

Thank you

David
4 Replies

Avatar

Level 1
David here again,



The problem was that the Websphere server (for whatever reason) could not find the .class files that where in the component (as a jar). The work around was to add an additional classpath to websphere and manually copy our class files to that directory and restart websphere. This works, but its far from elegant.



Can anyone shed some more light of the subject?

Avatar

Level 1
David again,



The above hack causes Websphere to forget where its adobe classes are and causes a host of other problems.



Can someone from Adobe have a look at this issue please.

Avatar

Level 2

Hello David,

Do you ever find a resolution to this?  My issue right now is that I can add a custom datatype as a process variable but am unable to create a new instance of it without calling out to my dsc which isn't ideal for security reasons.

Thanks,

Michael

Avatar

Level 2

If you run into this issue, you not only need to have your class in the DataTypes section of your component.xml, but you also need to have that package defined in the Export Packages of your RunTime section of your component.xml.

http://michael.omnicypher.com/2011/09/if-youre-trying-to-use-custom-datatypes.html