Erfahrungen


I currently work with HATS ( Host Access Transformation Services ) . I created some webservices to access HOST applications with it.
HATS admin console is deployed under /[YOUR_HATS_APPLICATION]/hatsadmin/admin.

I currently work with the IBM Process Server. I created a process using BPEL and wanted to test it. I got the stack trace below. The application can’t start because the Session EJB isn’t available. I enabled the function (projects menu) that automatically performs a rebuild, due to this I recognized (used unkown variables inside a java snippet) some errors. After I fixed these errors I could restart the application without an error, the the Session EJB for the process could be created.

“Clean often” if you work with Websphere Integration Developer is what I suggest. This is also mentioned here at this ‘Get started’ article from Websphere technical developer journal.

If you also work with IBM ProcessServer you may find these tutorials helpful: http://www.webagesolutions.com/knowledgebase/waskb/index.html

I’m glad to see some comments with helpful ‘BPEL with Websphere products’ Tutorials.

SystemErr R com.ibm.websphere.management.exception.AdminException: CWWBF0060E: Die Session-EJB component.Create_Something_1 für den Prozess konnte nicht gefunden werden.
at com.ibm.bpe.processarchive.ProcessServerTask.throwAdminException(ProcessServerTask.java:851)
at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.getBPELContext(SCDLProcessComponentConfigureTask.java:246)
at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.populateBpcDeploymentExtension(SCDLProcessComponentConfigureTask.java:675)
at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.performTask(SCDLProcessComponentConfigureTask.java:153)
at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:253)
at java.lang.Thread.run(Thread.java:570)

[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.bpe.processarchive.ProcessServerTask.throwAdminException(ProcessServerTask.java:851)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.getBPELContext(SCDLProcessComponentConfigureTask.java:246)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.populateBpcDeploymentExtension(SCDLProcessComponentConfigureTask.java:675)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.performTask(SCDLProcessComponentConfigureTask.java:153)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:253)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at java.lang.Thread.run(Thread.java:570)

I tried to stop a portlet and restart it. This was the error message I received:

DeployedAppli W WSVR0218W: No modules defined for application, YOUR_APPLICATION, on server, WebSphere_Portal, in cluster, WebSphereCluster
ApplicationMg W WSVR0100W: An error occurred initializing, YOUR_APPLICATION
com.ibm.ws.exception.ConfigurationWarning: No enabled modules defined for YOUR_APPLICATION at com.ibm.ws.runtime.component.DeployedApplicationImpl.initialize(DeployedApplicationImpl.java:437)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.initializeApplication(ApplicationMgrImpl.java:158)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:470)
at java.lang.reflect.Method.invoke(Native Method)
at com.tivoli.jmx.modelmbean.MMBInvoker.invoke(MMBInvoker.java:46)
at com.tivoli.jmx.modelmbean.MMBInvoker.invokeOperation(MMBInvoker.java:115)
at com.tivoli.jmx.modelmbean.DynamicModelMBeanSupport.invoke(DynamicModelMBeanSupport.java:409)
at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:323)
at com.tivoli.jmx.GenericMBeanSupport.invoke(GenericMBeanSupport.java:178)
at com.tivoli.jmx.MBeanAccess.invoke(MBeanAccess.java:113)
at com.tivoli.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:290)
at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:658)
at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:130)
at java.lang.reflect.Method.invoke(Native Method)
at com.ibm.ws.management.connector.soap.SOAPConnector.invoke(SOAPConnector.java(Compiled Code))
at com.ibm.ws.management.connector.soap.SOAPConnector.service(SOAPConnector.java(Compiled Code))
at com.ibm.ws.management.connector.soap.SOAPConnection.handleRequest(SOAPConnection.java:55)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:622)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:447)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:681)

Solution was to enable ‘loading module to deployment target’ for both EAR and web application.
Select Enterprise Applications -> Your application -> target mappings -> click to target -> Check if enabled is set
go back to your application select web modules -> select your web application -> target mappings -> click to target -> Check if enabled is set

See also screenshots here:

target_mapping_ear_loading_deploy_target_enabled1.JPGtarget_mapping_ear_loading_deploy_target_enabled2.JPG

I received this error message using HATS (Host Access Transformation Services). What’s wrong: I used a type which was’t initialized. I created a Helper class and wanted to call a method inside a perform action. I imported a new type: MacroHelper and defined a new variable, but i didn’t set a initial value: $new MacroHelper()$. In order to make it work you have to set the WAR classloader policy to ‘Application’. com.ibm.eNetwork.ECL.macrovariable.JavaType is responsible for loading java classes used inside a macro. Class JavaType is part of habeansnlv2.jar, which is placed in the HATS EAR. If the WAR classloader policy is set to module the classloader can’t load your class, in my case MacroHelper. because it’s out of scope.

hats_advanced_editor.jpg

 

 

A WebService Client Call (IBM Implementation) fails with the following error: Invalid trust file name of null

Cause: The SSL context can’t be created because no java keystore is set. There is one possible solution: Place the following code into your client, before the client code ist called. This approach is independend from the IBM webservice client implementation of cause, any time you want to set the keystore programmatically use this code. Maybe if you have a WebService client created by the AXIS framework.

System.setProperty(”javax.net.ssl.trustStore”, “%JAVA_HOME%/jre/lib/security/cacerts”);
System.setProperty(”javax.net.ssl.trustStorePassword”, “changeit”);
System.setProperty(”javax.net.ssl.keyStore”, “%JAVA_HOME%/jre/lib/security/cacerts”);
System.setProperty(”javax.net.ssl.keyStorePassword”, “changeit”);

Be aware of the Java Runtime Environment you use, in a IBM Websphere environment standard keystore password is “WebAS” I think. “changeit” is the standard password for Java Runtime Environment.

If your WebService endpoint starts with https, you may need to import a certificate into your keystore. This is the case for test environments where self signed certificates are used quite often. To do this use java keytool or ikeyman (WebSphere Application Server based products) .

« Previous Page