Seeburger SFTP - Message Transformation Bean Issue
Using Seeburger SFTP adapter to read a tab delimited file. File is being successfully read; however, content conversion need to be performed to convert the file content to XML. Thus, using Message Transformation Bean with the following module parameters.
Issue: It is reading the file as is u2013 there is not content conversion is being performed.
Processing Sequence:
1 localejbs/Seeburger/solution/sftp Local Enterprise Bean solutionid
2 localejbs/AF_Modules/MessageTransformBean Local Enterprise Bean mtb
3 localejbs/CallSapAdapter Local Enterprise Bean exit
Module Configuration:
mtb Transform.Class com.sap.aii.messaging.adapter.Conversion
mtb Transform.ContentType text/xml;charset=utf-8
mtb xml.conversionType SimplePlain2XML
mtb xml.documentName XXX_EXPENSES_mt
mtb xml.fieldContentFormatting trim
mtb xml.fieldNames FIELD1,FIELD2,FIELD3,FIELD4
mtb xml.fieldSeparator '0x09'
mtb xml.processFieldNames fromConfiguration
mtb xml.structureTitle RECORD
The following the noticeable details on CC:
Error type: TASK_ERROR >> Error date: 12/5/10 12:42 PM >> Description: Polling finished with errors. 1 file initiated. 1 file not polled due to errors.
Message initiated succesfully
Error type: TASK_ERROR >> Error date: >> Description: File <amex.dat> could not be polled from directory </usr/sap/interfaces/FTP1/send> on host <sapdv1ci>; Reason: removeFile: File xxx.dat could not be removed. SftpStatusCode: SSH_FX_NO_SUCH_FILE; Reason: No such file
Any help is greatly appreciated.
Thanks
Check the following...
1. Make sure you don't have any scripts running at your target folder.
Example: If you are reading your file from TEST folder make sure you don't have any scripts running here.
2. In File Setting section make sure you uncheck Delete file checkbok.
Regards
Srikanth Baki
Similar Messages
-
Standard Adapter Module "Message Transform Bean" in Seeburger AS2 Adapter
Hi,
I am calling standard adapter module "Message Transform Bean" in seeburger AS2 Sender adapter where I am getting the following error :
ClassNotFoundException:com.sap.aii.messaging.adapter.Conversion . Can anybody help me on this. Appreciate for your respoinse.
Thank you,
Mallikarjuna Rao MHi,
Thank you for your replies I manage to get NWA dump for this issue.. Here is the log
Could not call backend system: Error in ???-module:Transform: failed to set up the transformer for channel 6857fd15f84d3e23a7b0f51ca1851b20; modkey TXT2XML; caused by java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
Loader Info -
ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
Living status: alive
Direct parent loaders:
[system:Frame]
[service:servlet_jsp]
[service:ejb]
[library:engine.j2ee14.facade]
[library:com.sap.base.technology.facade]
[library:com.sap.aii.af.lib]
[library:com.sap.aii.af.sdk.lib]
[service:com.sap.aii.af.cpa.svc]
[service:com.sap.aii.af.svc]
[service:com.sap.aii.adapter.xi.svc]
[library:com.sap.aii.adapter.lib]
Resources:
D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
[LOC: com.seeburger.as2.impl.SHCInitiatorProcessor.initiateToBackend] Caused by: Error in ???-module:Transform: failed to set up the transformer for channel 6857fd15f84d3e23a7b0f51ca1851b20; modkey TXT2XML; caused by java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
Loader Info -
ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
Living status: alive
Direct parent loaders:
[system:Frame]
[service:servlet_jsp]
[service:ejb]
[library:engine.j2ee14.facade]
[library:com.sap.base.technology.facade]
[library:com.sap.aii.af.lib]
[library:com.sap.aii.af.sdk.lib]
[service:com.sap.aii.af.cpa.svc]
[service:com.sap.aii.af.svc]
[service:com.sap.aii.adapter.xi.svc]
[library:com.sap.aii.adapter.lib]
Resources:
D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
at com.seeburger.xi.api.module.impl.nw71.SeeModuleProcessorLocal71.process(SeeModuleProcessorLocal71.java:55)
at com.seeburger.xi.connector.fw.InitiationThread.run(InitiationThread.java:101)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
Caused by: java.lang.ClassNotFoundException: com.sap.aii.messaging.adapter.Conversion
Loader Info -
ClassLoader name: [sap.com/com.sap.aii.af.mod.trans.app]
Living status: alive
Direct parent loaders:
[system:Frame]
[service:servlet_jsp]
[service:ejb]
[library:engine.j2ee14.facade]
[library:com.sap.base.technology.facade]
[library:com.sap.aii.af.lib]
[library:com.sap.aii.af.sdk.lib]
[service:com.sap.aii.af.cpa.svc]
[service:com.sap.aii.af.svc]
[service:com.sap.aii.adapter.xi.svc]
[library:com.sap.aii.adapter.lib]
Resources:
D:\usr\sap\BWD\DVEBMGS00\j2ee\cluster\apps\sap.com\com.sap.aii.af.mod.trans.app\EJBContainer\applicationjars\com.sap.aii.af.mod.trans.ejb.jar
at com.sap.engine.boot.loader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:259)
at com.sap.engine.boot.loader.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:228)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:353)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at com.sap.aii.af.modules.trans.MessageTransformBean.loadClass(MessageTransformBean.java:121)
at com.sap.aii.af.modules.trans.MessageTransformBean.setup(MessageTransformBean.java:178)
at com.sap.aii.af.modules.trans.MessageTransformBean.process(MessageTransformBean.java:346)
at sun.reflect.GeneratedMethodAccessor484_10002.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43)
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:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at $Proxy2674_10002.process(Unknown Source)
at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:249)
at sun.reflect.GeneratedMethodAccessor311_10002.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43)
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:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at $Proxy102_10002.process(Unknown Source)
at com.seeburger.xi.api.module.impl.nw71.SeeModuleProcessorLocal71.process(SeeModuleProcessorLocal71.java:43)
Waiting for your valuable inputs on this.
Thank you,
Mallikarjuna Rao M -
Error using Message Transform Bean in SimplePlain2XML in file sender
Hi guys.
Im using Message Transform Bean to convert from file to xml in file sender.
My structure look like this:
ROW (1..n)
>TRANSPORTES (1)
>ENTREGAS (1..n)
And I have configured the module like this:
AF_Modules/MessageTransformBean - transform
transform - Transform.Class - com.sap.aii.messaging.adapter.Conversion
transform - xml.ENTREGAS.endSeparator - 'nl'
transform - xml.ENTREGAS.fieldFixedLengths - 1,30
transform - xml.ENTREGAS.fieldNames - TIPO,NUM_ENTREGA
transform - xml.ENTREGAS.keyFieldValue - E
transform - xml.TRANSPORTES.endSeparator - 'nl'
transform - xml.TRANSPORTES.fieldFixedLengths - 1,30
transform - xml.TRANSPORTES.fieldNames - TIPO,NUM_TRANSPORTE
transform - xml.TRANSPORTES.keyFieldValue - T
transform - xml.conversionType - SimplePlain2XML
transform - xml.documentName - MPrueba_Zip
transform - xml.documentNamespace - http:/XXXXXX.es/XXXX/sap/prueba
transform - xml.keyFieldName - TIPO
transform - xml.processFieldNames - fromConfiguration
transform - xml.recordsetName - row
transform - xml.recordsetStructure - TRANSPORTES,1,ENTREGAS,*
Im getting this error and I don´t know why:
Error: com.sap.aii.messaging.adapter.trans.TransformException: Transformer Conversion3.0.5227 Error initializing Class: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: (4408) Parameter 'xml.fieldFixedLengths' or 'xml.fieldSeparator' is missing (4409) Parameter 'xml.fieldNames' is missing (4403) ; nested exception caused by: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: (4408) Parameter 'xml.fieldFixedLengths' or 'xml.fieldSeparator' is missing (4409) Parameter 'xml.fieldNames' is missing (4403)
Why am i doing wrong?????
Thanks a lot!!!Hi
For Complex conversion you have to use xml.conversionType as "StructPlain2XML"
http://help.sap.com/saphelp_nw04/helpdata/en/24/4cad3baabd4737bab64d0201bc0c6c/content.htm
Regards
Ramg -
Error while using Message transform Bean
Hi All,
I am using message transform bean in the receiver channel. The structure I have used is as follows.
Transform.Class com.sap.aii.messaging.adapter.Conversion
Transform.ContentType text/xml;charset=utf-8
xml.conversionType SimplePlain2XML
xml.documentName MT_DataExtract
xml.documentNamespace http://ce.corp.com/xi/ACA/HR_INT_XXX/EmployerReporting
xml.endSeperator 'nl'
xml.fieldNames pernr,l_name,f_name,m_name,perid,p_subarea,e_group,e_subgroup,status,c_code,pa_text,str_add,h_city,h_state,h_zcode,z1_org,z2_org,rep_hours
xml.fieldSeperator ,
xml.singleRecordType Employee_Details
XML structure would be as
<Employee_Details>
<pernr></pernr>
- <l_name></l_name> <f_name></f_name>
<m_name />
<perid></perid>
<p_subarea></p_subarea>
<e_group></e_group>
<e_subgrp></e_subgrp>
<status></status>
<c_code></c_code>
<pa_text></pa_text>
<str_add></str_add>
<h_city></h_city>
<h_state></h_state>
<h_zcode></h_zcode>
<z1_org></z1_org>
<z2_org></z2_org>
<rep_hours></rep_hours>
</Employee_Details>
I am getting error as Delivering the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.af.lib.util.configuration.ConfigurationExceptionSet: The following configuration errors were detected: - Either recordTypes or singleRecordType needs to be set .
Please help me to resolve this error.
Thanks,
ShankulIt's not just that parameter, Please change your configuration as explained in the blog i shared.
There is a example which has expected structure and the conversion parameters.
Your target xml should be like below.
The XML structure of the source file should follow the same structure as the result of the SimplePlain2XML conversion.
<resultset>
<row>
<column-name1>ABC</column-name1>
<column-name2>12345</column-name2>
<column-name3>Text1</column-name3>
</row>
<row>
<column-name1>XYZ</column-name1>
<column-name2>67890</column-name2>
<column-name3>Text2 Text3</column-name3>
</row>
</resultset>
Examples of Content Conversion Using MessageTransformBean (SAP Library - SAP Exchange Infrastructure) -
Message Transformation Bean - Usage of external classes
Hi SDNers,
I am planning to write an external Java class to be loaded from AF_Modules/MessageTransformBean . The idea is simple, I want my class to handle an extra level of hierarchy in FCC process. I know writing the Java class which is as generic as the one provided by SAP is too complex. But I just want it for some specific requirements, so I dont intend to make it as a generic class.
Should the external class that I write implement the interface Transform? If so, what is the jar file that contains this interface and where can I find this jar file in my XI installation?
Also, what is the jar file that contains the standard class com.sap.aii.messaging.adapter.Conversion that gets loaded by default while using the MessageTransformBean?
If you have already tried with similar requirements, please share your experience on the same.
Thanks
JaishankarYou can use the same module in J2SE and J2EE adapter without change.
I recommend to install a J2SE adapter engine on a local PC for testing.
I have found a sample code from previous tests:
package sample;
import com.sap.aii.messaging.adapter.Parameter;
import com.sap.aii.messaging.adapter.trans.Transform;
import com.sap.aii.messaging.adapter.trans.*;
import java.io.*;
public class MyModule extends Transform {
Parameter parameter;
String filename;
public void init(TransformConfig config) throws TransformException{
super.init(config);
parameter = (Parameter) config.getParameters("Parameter");
filename = (String) parameter.get("filename");
// obligatory method service
public void service(TransformRequest request, TransformResponse response) throws TransformException {
// Get the input stream for request message
InputStream in = (InputStream) request.getMessage();
// Get output stream for response message
OutputStream out = (OutputStream) response.getMessage(Transform.MT_OutputStream);
try{
execute(in,out);
} catch (Exception e) {
throw new TransformException("TransformException: Error converting Message " + e.getMessage(), e);
public void execute(InputStream in, OutputStream out) throws Exception{
String filename = (String) transformConfig.getParameters("FileName");
if (filename == null){
filename = "notfound.txt";
// open file stream
OutputStream fileOut = new FileOutputStream(new File(filename));
// copy input stream to output stream and to file
int c;
while ((c = in.read()) != -1) {
fileOut.write(c);
out.write(c);
// main Methode, for local testing. A local XML file is expected.
public static void main (String[] args) {
try {
// Define Input stream and output stream from file
InputStream in = new FileInputStream(new File("source.xml"));
OutputStream out = new FileOutputStream(new File("target.xml"));
// call Mapping
MyModule map = new MyModule();
map.execute(in,out);
} catch (Throwable t) {
t.printStackTrace();
System.exit(0); -
Need assistance for this structure :
header
node
string (repeats numerous times)
need a content conversion using MTB for this for receiver file adapter
ThanksHi Kiran,
Try this
Transform.Class --- com.sap.aii.messaging.adapter.Conversion
Transform.ContentType -
text/plain;charset=utf-8
xml.Detail.endSeparator -
'nl'
xml.Detail.fieldFixedLengths -
<String lenghts>
xml.conversionType --- StructXML2Plain
xml.recordsetStructure --- node -
Help req in Seeburger SFTP adapter
Hi All,
I have a scenario where i need to send a file to SFTP server. I used Seeburger SFTP adapter to connect to SFTP.
This is a pass through interface and i havent used any party at the confiuration( normal configuration without party)
In SFTP channel @ modules i configured it as:
localejbs/Seeburger/solution/<solutionName> Local Enterprise Bean solutionid
localejbs/ModuleProcessorExitBean Local Enterprise Bean exit
Module Key Parameter Name Parameter Value
exit JNDIName deployedAdapters/SeeXISFTP/shareable/SeeXISFTP
When i test the scenario i facing the following error in the receiver communication channel( SFTp Adapter) @ RWB
Delivering the message to the application using connection SFTP_http://seeburger.com/xi failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of ModuleProcessorExitB ean..
Can someone please help how to resolve this problem.
Thanks,
SivaHi,
can you share how you solved this issue? i am having the same issue with the sftp and receiving the same error.
Thanks in advance. -
Error in Seeburger SFTP receiver in append mode.
Hi,
I am trying to do content conversion in Seeburger SFTP adapter at the receiver side and was successfully able to create the first CSV record.
I am using append mode in receiver adapter.
But when sent another record from sender; I got below error.
Always, first record gets processed successfully then second and subsequent records always fails.
Message processing failed. Cause: javax.resource.ResourceException: Fatal exception: com.sap.aii.af.ra.cci.XIRecoverableException: >> Description: putFile: Target filename <out.txt>; Flags set: appending=<true>; ; Reason: Failed to convert Ace to the native form.>> Details: putFile: Target filename <out.txt>; Flags set: appending=<true>; ; Reason: Failed to convert Ace to the native form.>>SendingStatus: NOT_TRANSMITTED>>FaultCategory: COMPONENT_ERROR>>Retryable: true>>Fatal: true, >> Description: putFile: Target filename <out.txt>; Flags set: appending=<true>; ; Reason: Failed to convert Ace to the native form.>> Details: putFile: Target filename <out.txt>; Flags set: appending=<true>; ; Reason: Failed to convert Ace to the native form.>>SendingStatus: NOT_TRANSMITTED>>FaultCategory: COMPONENT_ERROR>>Retryable: true>>Fatal: true
Regards,
Anirudh.An update.
Error message "Unable to convert ACE to native format" means it is not able to convert A SCII C ompatible E ncoding to the native encoding which is used in file system.
I am unable to make head or tail of it... I am doing content conversion in adapter module tab and have specified Transform.ContentType = text/plain;charset=utf-8
The file which gets generated is of ANSI encoding and doesn't appear to be a problem as it works when the file gets generated for the first time.
Also, it works OK when I use unique file name in receiver adatper where 1 file for each record is generated.
The problem is only in append mode.
When checked in Seeburger RWB, there was inconsistency in file details for messages.
For the successful message, file details were:
File details
Host LTFBG-ANIRUD-PI.com
Path /out
File name OUT.CSV
Remote file name OUT.CSV
Detailed status description PUT command for file <OUT.CSV> has been performed successfully.
whereas, for failed messages it was:
File details
Host LTFBG-ANIRUD-PI.com
Path /out
File name null
Remote file name null
Detailed status description Error on send, will be retried
Could that be product error?
Has anyone faced this problem before?
regards,
Anirudh.
Edited by: Anirudh Vyas on Apr 10, 2009 8:31 PM
Edited by: Anirudh Vyas on Apr 10, 2009 8:45 PM -
WebLogic 10 and EJB 3.0 for Message Driven Bean
Hi,
I am trying to deploy Message Driven Bean using EJB3.0 on weblogic 10. I am using annotations and don't want to use deployment descriptors.
The Bean class:
CalculatorBean.java
import javax.ejb.*;
import javax.jms.*;
import java.sql.Timestamp;
import java.util.StringTokenizer;
@MessageDriven(activationConfig =
@ActivationConfigProperty(propertyName="destinationType",
propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination",
propertyValue="queue/mdb")
public class CalculatorBean implements MessageListener {
public void onMessage (Message msg) {
TextMessage tmsg=null;
try {
if (msg instanceof TextMessage) {
tmsg = (TextMessage) msg;
System.out.println
("MESSAGE BEAN1: Message received: "
+ tmsg.getText());
} else {
System.out.println
("Message of wrong type1: "
+ msg.getClass().getName());
catch (JMSException e) {
e.printStackTrace();
catch (Throwable te) {
te.printStackTrace();
My client:
import javax.naming.*;
import javax.naming.InitialContext;
import java.text.*;
import javax.jms.*;
public class MsgClient {
public static void main(String args[])
QueueConnection cnn=null;
QueueSender sender=null;
QueueSession sess=null;
Queue queue=null;
try {
java.util.Properties p = new java.util.Properties();
p.put("java.naming.factory.initial","weblogic.jndi.WLInitialContextFactory");
p.put("java.naming.provider.url","t3://10.6.74.79:7001");
Context ctx=new InitialContext(p);
//InitialContext ctx=new InitialContext(p);
queue = (Queue)ctx.lookup("queue/mdb");
QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup("ConnectionFactory");
cnn = factory.createQueueConnection();
sess= cnn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);
sender = sess.createSender(queue);
TextMessage message = sess.createTextMessage();
message.setText("This is message by Gurumurthy" );
System.out.println("Sending message: " +message.getText());
sender.send(message);
sess.close();
catch (Exception e)
e.printStackTrace();
I am compiling and creating jar file for this class. Then I am creating a .ear file for this.
The meta-inf/application.xml contains the following:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
<display-name>MDBWorking1</display-name>
<description>Application description</description>
<module>
<ejb>MDBWorking1.jar</ejb>
</module>
</application>
I don't want to use deployment descriptor (ejb-jar.xml or weblogic-ejb-jar-xml), because I want to utilize the annotation feature of EJB3.0
So, after creating the .ear file for this, and try to deploy on weblogic 10, I get the following error:
An error occurred during activation of changes, please see the log for details.
Exception preparing module: EJBModule(MDBWorking1.jar) Unable to deploy EJB: CalculatorBean from MDBWorking1.jar: [EJB:011113]Error: The Message Driven Bean 'CalculatorBean(Application: MDBWorking1, EJBComponent: MDBWorking1.jar)', does not have a message destination configured. The message destination must be set using a message-destination-link, destination-resource-link, destination-jndi-name or a resource-adapter-jndi-name.
Substituted for missing class [EJB - 11113]Error: The Message Driven Bean 'CalculatorBean(Application: MDBWorking1, EJBComponent: MDBWorking1.jar)', does not have a message destination configured. The message destination must be set using a message-destination-link, destination-resource-link, destination-jndi-name or a resource-adapter-jndi-name.
How to solve this?
Note:
I don't want to use Deployment Descriptor and all I want to use is EJB3.0's annotation feature.
Thanks,
GuruDear gurubbc,
I don't know if it still matters to you but you can use the javax.ejb.MessageDriven annotation to point your bean on your queue. I had the same issue like you but i could not solve it properly by switchihg to weblogic.ejb.MessageDriven.
Use the following annotation and it should work out:
@MessageDriven
(mappedName = "queue/mdb",
name = "CalculatorBean",
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
Here you can see that the mappedName is the JNDI name of the queue you are trying to connect to. The name is the name for your Bean, and the only property passed is the destination type.
Hope this helps.
Cheers,
Istvan -
Error during deployment of Message Driven Bean
Environment: WLS 6.1SP3 on Win2K SP2, non-clustered.
I am getting some error (or perhaps warning) during deployment of Message
Driven Bean. Any one seen this before?
This error only comes on a machine with Dual Network card.
Thanks.
####<Dec 11, 2002 1:23:04 AM GMT> <Info> <EJB> <QAAPP01> <Makalu> <main>
<system> <> <010008> <EJB Deploying file: AppRuntime.jar>
####<Dec 11, 2002 1:23:04 AM GMT> <Warning> <J2EE> <QAAPP01> <Makalu> <main>
<system> <> <160007> <You are running WebLogic Server with J2EE 1.3 features
enabled. The implementation of specific J2EE 1.3 features (EJB 2.0, JSP 1.2,
Servlet 2.3, and J2EE Connector Architecture 1.0) in BEA WebLogic Server 6.1
is of a non-final version of the appropriate specification. It is subject to
change in future releases once the specification becomes finalized. This may
cause application code developed for BEA WebLogic Server 6.1 that uses the
new features of J2EE 1.3 to be incompatible with the J2EE 1.3 platform
supported in future releases of BEA WebLogic Server.>
####<Dec 11, 2002 1:23:07 AM GMT> <Warning> <EJB> <QAAPP01> <Makalu> <main>
<system> <> <010061> <The Message-Driven EJB: ASYNCMessageDrivenBean is
unable to connect to the JMS destination: CQM_MessageQueue. The EJB
container will automatically attempt to re-establish the connection with the
JMS server. This warning may occur during WebLogic Cluster start-up if the
JMS destination is located on another server. When the JMS server connection
is re-established, the Message-Driven EJB will again receive JMS messages.
The Error was:
Unable to create a JNDI InitialContext to lookup the JMS destination. The
error was:
javax.naming.CommunicationException. Root exception is
java.net.ConnectException: t3://127.0.0.1:7001: Destination unreachable;
nested exception is:
java.net.ConnectException: Connection refused: connect; No available router
to destination
at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:155)
at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:207)
at
weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
textFactoryDelegate.java:307)
at
weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
textFactoryDelegate.java:211)
at
weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFact
ory.java:149)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:660)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241)
at javax.naming.InitialContext.init(InitialContext.java:217)
at javax.naming.InitialContext.<init>(InitialContext.java:193)
at
weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageD
rivenBeanInfoImpl.java:641)
at
weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectio
nPoller.java:474)
at
weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller
.java:418)
at
weblogic.ejb20.internal.JMSConnectionPoller.startJMSConnectionPolling(JMSCon
nectionPoller.java:286)
at
weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.deploy(MessageDrivenBeanIn
foImpl.java:511)
at weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1294)
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:996)
at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:31)
at weblogic.j2ee.Application.addComponent(Application.java:170)
at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
arget.java:360)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
Target.java:285)
at
weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
eploymentTarget.java:239)
at
weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
entTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:636)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
21)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy34.updateDeployments(Unknown Source)
at
weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(
ServerMBean_CachingStub.java:2977)
at
weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Appl
icationManager.java:372)
at
weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManage
r.java:160)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
.java:636)
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
21)
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
nImpl.java:360)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
at $Proxy49.start(Unknown Source)
at
weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(
ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
at weblogic.management.Admin.finish(Admin.java:644)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
at weblogic.Server.main(Server.java:35)
>
####<Dec 11, 2002 1:23:07 AM GMT> <Info> <EJB> <QAAPP01> <Makalu> <main>
<system> <> <010009> <EJB Deployed EJB with JNDI name
ASYNCMessageDrivenBean.>
Hi Tom
Yes we do have an URL provided in the descriptor. It's
t3://jms.server.net:7001.
and the jms.server.net is resolved via a hosts file in Win2K
eg,
192.168.100.200 jms.server.net
You are right in saying that the loopback in a dual-net card is a problem.
But our solution
above solves the issue as long as your host file does not use 127.0.0.1 as
the IP.
We need the URL b/c depending on our client's deployment , the JMS Server
may be remote or may be local.
"Tom Barnes" <[email protected]> wrote in message
news:[email protected]...
> Hi x,
>
> Something to do with the loopback and dual-network cards is
> messin' with WLS' mind. I do not know what the problem is,
> but I can guess:
>
> You have specified an URL in the MDB descriptor when there
> is no need for one. If t3://127.0.0.1:7001 is in the same
> cluster the MDB is running in (I suspect this URL is
> actually the same WL server), then don't specify the URL.
> This URL is only useful for connecting an MDB to a JMS
> server that is outside local server and outside the cluster.
> The URL may be working on single-network card systems
> as perhaps then WL has enough info to guess that you
> actually mean the local WL server, and simply converts
> the context to a local context.
>
> Note that the URL option in the MDB descriptor is actually
> a WebLogic extension of J2EE.
>
> Tom
>
>
>
> x wrote:
> > Environment: WLS 6.1SP3 on Win2K SP2, non-clustered.
> >
> > I am getting some error (or perhaps warning) during deployment of
Message
> > Driven Bean. Any one seen this before?
> > This error only comes on a machine with Dual Network card.
> >
> > Thanks.
> >
> >
> >
> > ####<Dec 11, 2002 1:23:04 AM GMT> <Info> <EJB> <QAAPP01> <Makalu> <main>
> > <system> <> <010008> <EJB Deploying file: AppRuntime.jar>
> > ####<Dec 11, 2002 1:23:04 AM GMT> <Warning> <J2EE> <QAAPP01> <Makalu>
<main>
> > <system> <> <160007> <You are running WebLogic Server with J2EE 1.3
features
> > enabled. The implementation of specific J2EE 1.3 features (EJB 2.0, JSP
1.2,
> > Servlet 2.3, and J2EE Connector Architecture 1.0) in BEA WebLogic Server
6.1
> > is of a non-final version of the appropriate specification. It is
subject to
> > change in future releases once the specification becomes finalized. This
may
> > cause application code developed for BEA WebLogic Server 6.1 that uses
the
> > new features of J2EE 1.3 to be incompatible with the J2EE 1.3 platform
> > supported in future releases of BEA WebLogic Server.>
> > ####<Dec 11, 2002 1:23:07 AM GMT> <Warning> <EJB> <QAAPP01> <Makalu>
<main>
> > <system> <> <010061> <The Message-Driven EJB: ASYNCMessageDrivenBean is
> > unable to connect to the JMS destination: CQM_MessageQueue. The EJB
> > container will automatically attempt to re-establish the connection with
the
> > JMS server. This warning may occur during WebLogic Cluster start-up if
the
> > JMS destination is located on another server. When the JMS server
connection
> > is re-established, the Message-Driven EJB will again receive JMS
messages.
> > The Error was:
> > Unable to create a JNDI InitialContext to lookup the JMS destination.
The
> > error was:
> > javax.naming.CommunicationException. Root exception is
> > java.net.ConnectException: t3://127.0.0.1:7001: Destination unreachable;
> > nested exception is:
> > java.net.ConnectException: Connection refused: connect; No available
router
> > to destination
> > at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:155)
> > at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:207)
> > at
> >
weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
> > textFactoryDelegate.java:307)
> > at
> >
weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialCon
> > textFactoryDelegate.java:211)
> > at
> >
weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFact
> > ory.java:149)
> > at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:660)
> > at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:241)
> > at javax.naming.InitialContext.init(InitialContext.java:217)
> > at javax.naming.InitialContext.<init>(InitialContext.java:193)
> > at
> >
weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.getInitialContext(MessageD
> > rivenBeanInfoImpl.java:641)
> > at
> >
weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectio
> > nPoller.java:474)
> > at
> >
weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller
> > .java:418)
> > at
> >
weblogic.ejb20.internal.JMSConnectionPoller.startJMSConnectionPolling(JMSCon
> > nectionPoller.java:286)
> > at
> >
weblogic.ejb20.deployer.MessageDrivenBeanInfoImpl.deploy(MessageDrivenBeanIn
> > foImpl.java:511)
> > at
weblogic.ejb20.deployer.Deployer.deployDescriptor(Deployer.java:1294)
> > at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java:996)
> > at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:31)
> > at weblogic.j2ee.Application.addComponent(Application.java:170)
> > at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
> > at
> >
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(DeploymentT
> > arget.java:360)
> > at
> >
weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployment
> > Target.java:285)
> > at
> >
weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments(D
> > eploymentTarget.java:239)
> > at
> >
weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deploym
> > entTarget.java:199)
> > at java.lang.reflect.Method.invoke(Native Method)
> > at
> >
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
> > .java:636)
> > at
> >
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
> > 21)
> > at
> >
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
> > nImpl.java:360)
> > at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> > at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> > at $Proxy34.updateDeployments(Unknown Source)
> > at
> >
weblogic.management.configuration.ServerMBean_CachingStub.updateDeployments(
> > ServerMBean_CachingStub.java:2977)
> > at
> >
weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Appl
> > icationManager.java:372)
> > at
> >
weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationManage
> > r.java:160)
> > at java.lang.reflect.Method.invoke(Native Method)
> > at
> >
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
> > .java:636)
> > at
> >
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
> > 21)
> > at
> >
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMBea
> > nImpl.java:360)
> > at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
> > at
com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
> > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:468)
> > at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:209)
> > at $Proxy49.start(Unknown Source)
> > at
> >
weblogic.management.configuration.ApplicationManagerMBean_CachingStub.start(
> > ApplicationManagerMBean_CachingStub.java:480)
> > at weblogic.management.Admin.startApplicationManager(Admin.java:1234)
> > at weblogic.management.Admin.finish(Admin.java:644)
> > at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:524)
> > at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:207)
> > at weblogic.Server.main(Server.java:35)
> >
> > ####<Dec 11, 2002 1:23:07 AM GMT> <Info> <EJB> <QAAPP01> <Makalu> <main>
> > <system> <> <010009> <EJB Deployed EJB with JNDI name
> > ASYNCMessageDrivenBean.>
> >
> >
>
-
Create EJB 3.0 Message Driven Bean on a Oracle JMS (AQ)
Hi, I need to develop a EJB 3.0 Message Driven Bean. The MDB has to work on a Oracle AQ using Oracle JMS. Is there any how-to document giving an example about this issue. Can you give an example how to create the JMS destination in OC4J (how to configure the Oracle JMS AQ in OC4j), issue the JMS destination via annotions (resource injection) in the MDB. Please give me a working example of the MDB and a test client to produce a message. Regards, Arjan Jorritsma
Check your ejb-jar.xml and see if it has the version of "2.1" there...
If the application was depending upon EJB 3.0 annotations but it had a ejb-jar.xml that had version set to "2.1" and there was no oracle specific descriptor (orion-ejb-jar.xml) to designate it use the resource adapter; It would expect JMS destination and connection factory that is required for a JMS-MDB set in the ejb-jar.xml. So try to change the ejb-jar.xml to update the version to "3.0", OC4J would have parsed the annotation and combined the metadata with ejb-jar.xml and it would work.
-Frances -
ERROR WHEN START ESR: Cannot activate endpoint for message-driven bean
Hi Gurus,
We just upgraded our PI 7.1 to SP11, and we have finished it successfully, then we go to the /rep/start/repository.jnlp to start the ESR but some error happens,while the ID,SLD and RWB works well, below is the detailed message:
Application cannot be started!
Details:
com.sap.engine.services.deploy.container.DeploymentException: Cannot activate endpoint for message-driven bean sap.com/com.sap.xi.repository*xml|com.sap.xpi.ibrep.server.jar*xml|WorkspaceSyncMessageReciverMDB
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:893)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl.prepareStart(ContainerInterfaceImpl.java:425)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:219)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:179)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:419)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:498)
at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:554)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:251)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:392)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3422)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3408)
at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:749)
at com.sap.engine.services.servlets_jsp.server.deploy.impl.ApplicationManager.start(ApplicationManager.java:180)
at com.sap.engine.services.servlets_jsp.server.deploy.impl.ApplicationManager.analyseAppStatusMode(ApplicationManager.java:288)
at com.sap.engine.services.servlets_jsp.server.DeployContext.startLazyApplication(DeployContext.java:334)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:103)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:295)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:250)
Caused by: com.sap.engine.services.ejb3.container.ActionException: Cannot activate endpoint for message-driven bean sap.com/com.sap.xi.repository*xml|com.sap.xpi.ibrep.server.jar*xml|WorkspaceSyncMessageReciverMDB
at com.sap.engine.services.ejb3.runtime.impl.Actions_MDBEndpointActivation.perform(Actions_MDBEndpointActivation.java:103)
at com.sap.engine.services.ejb3.container.CompositeAction.perform(CompositeAction.java:81)
at com.sap.engine.services.ejb3.container.ApplicationStarter.perform(ApplicationStarter.java:59)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:887)
... 34 more
Caused by: javax.resource.NotSupportedException: javax.resource.spi.UnavailableException: Could not activate endpoint for the configured number of attempts
at com.sap.jms.resourceadapter.ResourceAdapterImpl.endpointActivation(ResourceAdapterImpl.java:113)
at com.sap.engine.services.connector.jca15.EndpointActivationImpl.activateEndpoint(EndpointActivationImpl.java:451)
at com.sap.engine.services.connector.jca15.EndpointActivationImpl.findResourceAdapterByName(EndpointActivationImpl.java:154)
at com.sap.engine.services.connector.jca15.EndpointActivationImpl.findAdapter(EndpointActivationImpl.java:85)
at com.sap.engine.services.connector.jca15.EndpointActivationImpl.activateEndpoint(EndpointActivationImpl.java:58)
at com.sap.engine.services.ejb3.runtime.impl.Actions_MDBEndpointActivation.perform(Actions_MDBEndpointActivation.java:95)
... 37 more
Caused by: javax.resource.spi.UnavailableException: Could not activate endpoint for the configured number of attempts
at com.sap.jms.resourceadapter.RaActivation.activate(RaActivation.java:161)
at com.sap.jms.resourceadapter.ResourceAdapterImpl.endpointActivation(ResourceAdapterImpl.java:101)
... 42 more
Caused by: javax.resource.spi.UnavailableException: The destination jms/queue/xi/repository/SWCVSync cannot be looked up. Last attempt performed : jms_vendor_queues_global/jms/queue/xi/repository/SWCVSync
at com.sap.jms.resourceadapter.RaActivation.setupDestination(RaActivation.java:369)
at com.sap.jms.resourceadapter.RaActivation.activate(RaActivation.java:128)
... 43 more
Caused by: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of SWCVSync.
at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:584)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:343)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:637)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.sap.jms.resourceadapter.RaActivation.setupDestination(RaActivation.java:367)
... 44 more
how should we resolve this issue? does any one have such experience on this issue?
thanks.Hi;
As our Colleague said it would be good to create message to SAP.
01 .Please check the cache,
02. check the system users are not locked.
03. Re-initialization option in Java Web Start Administration (before using this please read the description carefully).
04. try Full Cache Refresh.
05. Check the Java run time version you are using.
Regards,
Prabhu Rajesh -
Error when ESR starts - Cannot activate endpoint for message-driven bean
Hi, as already posted on ERROR WHEN START ESR: Cannot activate endpoint for message-driven bean
after an upgrade to PI 7.1 SP11, we got the following error when trying to start ESR, other applications work well:
Application cannot be started!
Details: com.sap.engine.services.deploy.container.DeploymentException: Cannot activate endpoint for message-driven bean sap.com/com.sap.xi.repositoryxml|com.sap.xpi.ibrep.server.jarxml|WorkspaceSyncMessageReciverMDB
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:893)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl.prepareStart(ContainerInterfaceImpl.java:425)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepareCommon(StartTransaction.java:219)
at com.sap.engine.services.deploy.server.application.StartTransaction.prepare(StartTransaction.java:179)
at com.sap.engine.services.deploy.server.application.ApplicationTransaction.makeAllPhasesOnOneServer(ApplicationTransaction.java:419)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesImpl(ParallelAdapter.java:498)
at com.sap.engine.services.deploy.server.application.StartTransaction.makeAllPhasesImpl(StartTransaction.java:554)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.runInTheSameThread(ParallelAdapter.java:251)
at com.sap.engine.services.deploy.server.application.ParallelAdapter.makeAllPhasesAndWait(ParallelAdapter.java:392)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3422)
at com.sap.engine.services.deploy.server.DeployServiceImpl.startApplicationAndWait(DeployServiceImpl.java:3408)
at com.sap.engine.services.deploy.server.DeployCommunicatorImpl.startApplicationAndWait(DeployCommunicatorImpl.java:749)
at com.sap.engine.services.servlets_jsp.server.deploy.impl.ApplicationManager.start(ApplicationManager.java:180)
at com.sap.engine.services.servlets_jsp.server.deploy.impl.ApplicationManager.analyseAppStatusMode(ApplicationManager.java:288)
at com.sap.engine.services.servlets_jsp.server.DeployContext.startLazyApplication(DeployContext.java:334)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:103)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:295)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:250)
Caused by: com.sap.engine.services.ejb3.container.ActionException: Cannot activate endpoint for message-driven bean sap.com/com.sap.xi.repositoryxml|com.sap.xpi.ibrep.server.jarxml|WorkspaceSyncMessageReciverMDB
at com.sap.engine.services.ejb3.runtime.impl.Actions_MDBEndpointActivation.perform(Actions_MDBEndpointActivation.java:103)
at com.sap.engine.services.ejb3.container.CompositeAction.perform(CompositeAction.java:81)
at com.sap.engine.services.ejb3.container.ApplicationStarter.perform(ApplicationStarter.java:59)
at com.sap.engine.services.ejb3.container.ContainerInterfaceImpl$Actions.perform(ContainerInterfaceImpl.java:887)
... 34 more
Caused by: javax.resource.NotSupportedException: javax.resource.spi.UnavailableException: Could not activate endpoint for the configured number of attempts
at com.sap.jms.resourceadapter.ResourceAdapterImpl.endpointActivation(ResourceAdapterImpl.java:113)
at com.sap.engine.services.connector.jca15.EndpointActivationImpl.activateEndpoint(EndpointActivationImpl.java:451)
at com.sap.engine.services.connector.jca15.EndpointActivationImpl.findResourceAdapterByName(EndpointActivationImpl.java:154)
at com.sap.engine.services.connector.jca15.EndpointActivationImpl.findAdapter(EndpointActivationImpl.java:85)
at com.sap.engine.services.connector.jca15.EndpointActivationImpl.activateEndpoint(EndpointActivationImpl.java:58)
at com.sap.engine.services.ejb3.runtime.impl.Actions_MDBEndpointActivation.perform(Actions_MDBEndpointActivation.java:95)
... 37 more
Caused by: javax.resource.spi.UnavailableException: Could not activate endpoint for the configured number of attempts
at com.sap.jms.resourceadapter.RaActivation.activate(RaActivation.java:161)
at com.sap.jms.resourceadapter.ResourceAdapterImpl.endpointActivation(ResourceAdapterImpl.java:101)
... 42 more
Caused by: javax.resource.spi.UnavailableException: The destination jms/queue/xi/repository/SWCVSync cannot be looked up. Last attempt performed : jms_vendor_queues_global/jms/queue/xi/repository/SWCVSync
at com.sap.jms.resourceadapter.RaActivation.setupDestination(RaActivation.java:369)
at com.sap.jms.resourceadapter.RaActivation.activate(RaActivation.java:128)
... 43 more
Caused by: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of SWCVSync.
at com.sap.engine.services.jndi.implserver.ServerContextImpl.lookup(ServerContextImpl.java:584)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:343)
at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:637)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.sap.jms.resourceadapter.RaActivation.setupDestination(RaActivation.java:367)
... 44 more
Thanks.Guys,
I have deployed the below components and after this repository could not be started which gives the below error.
1000.7.11.10.18.20130529165100
SAP AG
sap.com
SAP_XIAF
1000.7.11.10.11.20130529165100
SAP AG
sap.com
SAP_XIESR
1000.7.11.10.15.20130529165100
SAP AG
sap.com
SAP_XITOOL
We have the same issue. Still the Restart did not solve ths issue.
Can anybody help? We are not able to start the XI Repository.
Our PI components are as below
com.sap.engine.services.ejb3.runtime.impl.refmatcher.EJBResolvingException: Cannot start applicationsap.com/com.sap.xi.repository; nested exception is: java.rmi.RemoteException: [ERROR
CODE DPL.DS.6125] Error occurred while starting application locally and wait.; nested exception is:
com.sap.engine.services.deploy.container.DeploymentException: Cannot activate endpoint for message-driven bean sap.com/com.sap.xi.repository*xml|com.sap.xpi.ibrep.server.jar*xm
l|CacheRefreshMDB^M
at com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.startApp(DefaultContainerRepository.java:315)^M
at com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.getEnterpriseBeanContainer(DefaultContainerRepository.java:106)^M
at com.sap.engine.services.ejb3.runtime.impl.DefaultRemoteObjectFactory.resolveReference(DefaultRemoteObjectFactory.java:55)^M
1000.7.11.10.6.20121015232500
SAP AG
sap.com
MESSAGING
Regards
Omkar -
Usage of Apache Beehive JMS control inside Message Driven Bean
Hi,
I am developing a j2ee application using weblogic workshop 10.3. This application contains the following three projects.
- J2EE Utility Project
- Message Driven Bean Project
- Ear Project
In the Utility project I have created one apache beehive jms control. I am using this control inside the message driven bean application. I haven't got any issues during the development and deployment phase with the beehive control. But during runtime the apache beehive jms control is not getting instantiated and the mdb application is throwing the null pointer exception when the EJB container try to execute the methods on the control instance. I have used the declarative programming model to create the control instance inside the mdb application.
I am using the weblogic 10.3 server for testing and I have created the 10.3 weblogic+workshop domain. By default it has the beehive libraries deployed.
Can somebody help me out to resolve this issue?
Regards,
BpYou can get the message directly with getText() method. Following is the snippet of code.
if (aMsg instanceof TextMessage) {
TextMessage msg = (TextMessage) aMsg;
String testMessage = msg.getText());
Kishore. -
Faulty ObjectMessage Payload in Message Driven Bean
To all,
I have a frustrating problem. I am using iPlanet application server 6.5 and Java Message Queue 2.0 beta. I have deployed a message driven bean into the application server. This bean expects ObjectMessage's. The bean successfully receives messages if they are standard java objects, but if the payload is an object of my own making - distributed as part of the deployment jar file - the container throws a RuntimeException when ObjectMessage.getObject() is invoked within onMessage(). This occurs whether I submit the message from outside the container or within it. Note that the sending of the message seems to be successful; no Exception is thrown.
The object causing the problem is a subclass of Exception and contains two instance variables: one an Exception, and one an instance of its own type. The particular object I am sending has zero depth, by which I mean both instance variables are null. I can see the message in the JMQ persistent store and see that this object has been serialized - or at least there is data in the persistent store that looks like it has been serialized.
Because the object can be serialized, I was led to believe that this is a classpath issue. However, I added the directory in the app server where the bean is deployed to the CLASSPATH variable in the iasenv.ksh file, and still no luck. The Exception is receive in the kjs log is a simple RuntimeException with the useless tag: The message could not be processed properly.
Any ideas? I would greatly appreciate any help.
MarcusHi Xiang,
I am assuming you are calling a synchronous recveive -- receiver.receive() in order to get the object message sent back from the MDB In that case the current thread classloader will be used. As you can see from the exception :
uwl.konplan.domino.provider.DominoItem with classloader: com.sap.engine.services.deploy.server.ApplicationLoade
That is the ApplicationLoader not something from the JMS. So i strongly doubt JMS is the problem.
Two things that you can check further :
1) When a deserialization is involved it will try to deserialize the full object graph. I.e. if your dominoItem has a field with class FOO, than the getObject() call must be able to classload FOO. Please check if some classes should be added as well in that portapp.xml of yours
2) Make sure that you test to instantiate the DominoObject right before you call getObject() and not in some different thread and logic in your application. Just to be sure that you can really classload it.
HTH
Peter
Maybe you are looking for
-
I am running 10.6.8 and have 1gb of memory and want to upgrade can i use an external hard drive to solve this problem
-
I have found several posts on this but I can not find a clear answer. I am using PI 7.1. I have a PO Idoc leaving R/3 through PI using an IDoc Adapter. When it gets to PI I am routing it to one of three possible locations. 1. SRM-SUS if it is a
-
Mark, hello; can you please provide some kind of formula to estimate BDB JE limits? maximum database size? maximum number or records? maximum record size? maximum key size? thank you! Andrei.
-
URGENT iPhone 5 troubles!
I just got an iphone 5, today is my second day using it. It just shut off and won't turn back on. It is possible that it is out of charge because I didn't charge it last night, but after being plugged in for 30 mins it still ownt turn it. I also tri
-
* CCS question: float interfering with bg colour?
Hi, I've been having a bit of trouble with my CSS ad was wondering if anyone had suggestions. Currently i have a "Main content" div with 2 divs inside it. When i add float left to the 1st inner div the background colour of the main content div goes a