Configuring mdb to receive adt message

Hi,
i have created and AQ with payload type as "eca_type_t" which is some structure. Now i want to configure my MDB to receive the adt message and the payload to be as some java object. I know one can generate correspodnign jpu java class from "eca_type_t" from jpublisher but how can i configure my MDB to get this class instance. I mean whut are annotations do i need to do to achieve this?
thanks

I'd start here:
http://e-docs.bea.com/wls/docs70/faq/index.html
-- Rob
WLS Blog http://dev2dev.bea.com/blog/rwoollen/

Similar Messages

  • Configuring MDB to receive message from MQSeries Queues bound on WL JNDI

    Hi,
    I am using weblogic7.0 sp2. I need to configure my MDB to receive message from MQ Series (on a different server). The queue is bound to WL JNDI using a server startup program.
    Anyone with experiece, please help.
    Thanks,
    Fasih

    I'd start here:
    http://e-docs.bea.com/wls/docs70/faq/index.html
    -- Rob
    WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • My MDB keep receiving the message from the WLS 7.0

              The attachment is my onMessage method in MDB. On the send side, I sent out my message.
              But one MDB side, I keep receiving new message from TOPIC for each 40 seconds.
              Do you guys know what is wrong?
              public void onMessage(Message msg) {
              try {
              Thread thisThread = Thread.currentThread();
              try {
              System.out.println( "[Start]: " + thisThread.toString() );
              while( true) {
              thisThread.sleep( 1000 );
              System.out.println( "[     ]: " + thisThread.toString() );
              System.out.println( "[Exit ]: " + thisThread.toString() );
              catch ( java.lang.InterruptedException ie ) {
              ie.printStackTrace();
              catch(JMSException ex) {
              ex.printStackTrace();
              

    Try using the installer(s) from http://forums.adobe.com/thread/909550

  • MDB listening to a Oracle AQ, holding ADT messages...

    Hi !
    I'm trying to set a MDB to listen for incoming messages on an Oracle AQ. When I created the queue, I specified that the queue should contain payload of type ADT. I'm using Bea Weblogic server 8.1 sp4 and Oracle 10.2.0. The creation of the connection to the queue is implemented as a start up class and bound to the context during server start up.
    However it fails to start up, I get the following exception:
    <20.mar.2007 kl 11.03 CET> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB:
    MyWebLogicMDB is unable to connect to the JMS destination: AQJMSQueue. The Erro
    r was:
    oracle.jms.AQjmsException: JMS-137: Innholdsfabrikk mÕ angis for mÕl med ADT-inn
    hold
    oracle.jms.AQjmsException: JMS-137: Innholdsfabrikk mÕ angis for mÕl med ADT-inn
    hold
    at oracle.jms.AQjmsError.throwEx(I)V(AQjmsError.java:288)
    at oracle.jms.AQjmsConsumer.<init>(Loracle.jms.AQjmsSession;Ljavax.jms.D
    estination;IILjava.lang.String;Ljava.lang.Object;Loracle.jms.AQjmsSelector;Ljava
    .lang.String;Z)V(AQjmsConsumer.java:385)
    at oracle.jms.AQjmsConsumer.<init>(Loracle.jms.AQjmsSession;Ljavax.jms.D
    estination;IILjava.lang.String;Ljava.lang.Object;Loracle.jms.AQjmsSelector;Ljava
    .lang.String;)V(AQjmsConsumer.java:254)
    at oracle.jms.AQjmsSession.createReceiver(Ljavax.jms.Queue;Ljava.lang.St
    ring;Ljava.lang.Object;)Ljavax.jms.QueueReceiver;(AQjmsSession.java:1631)
    at oracle.jms.AQjmsSession.createReceiver(Ljavax.jms.Queue;Ljava.lang.St
    ring;)Ljavax.jms.QueueReceiver;(AQjmsSession.java:1553)
    at weblogic.ejb20.internal.JMSConnectionPoller.setUpQueueSessions(Ljavax
    .jms.Destination;Ljava.lang.String;III)V(JMSConnectionPoller.java:1720)
    at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection()V(JM
    SConnectionPoller.java:2019)
    at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS()V(JMSConnec
    tionPoller.java:1180)
    at weblogic.ejb20.internal.JMSConnectionPoller.startJMSConnectionPolling
    ()V(JMSConnectionPoller.java:846)
    at weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.start()V(Messag
    eDrivenBeanPoolInfoImpl.java:234)
    at weblogic.ejb20.deployer.EJBDeployer.deployMessageDrivenBeans()V(EJBDe
    ployer.java:1660)
    at weblogic.ejb20.deployer.EJBDeployer.start(Z)V(EJBDeployer.java:1488)
    at weblogic.ejb20.deployer.EJBModule.start()V(EJBModule.java:689)
    at weblogic.j2ee.J2EEApplicationContainer.start([Lweblogic.j2ee.J2EEAppl
    icationContainer$Component;)V(J2EEApplicationContainer.java:2127)
    at weblogic.j2ee.J2EEApplicationContainer.activate([Lweblogic.management
    .configuration.ComponentMBean;)V(J2EEApplicationContainer.java:2168)
    at weblogic.j2ee.J2EEApplicationContainer.activate()V(J2EEApplicationCon
    tainer.java:2115)
    at weblogic.management.deploy.slave.SlaveDeployer$Application.setActivat
    ion(Z)V(SlaveDeployer.java:3082)
    at weblogic.management.deploy.slave.SlaveDeployer.setActivationStateForA
    llApplications(ZZ)V(SlaveDeployer.java:1751)
    at weblogic.management.deploy.slave.SlaveDeployer.resume()V(SlaveDeploye
    r.java:359)
    at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resum
    e()V(DeploymentManagerServerLifeCycleImpl.java:229)
    at weblogic.t3.srvr.SubsystemManager.resume()V(SubsystemManager.java:131
    at weblogic.t3.srvr.T3Srvr.resume()V(T3Srvr.java:966)
    at weblogic.t3.srvr.T3Srvr.run([Ljava.lang.String;)I(T3Srvr.java:361)
    at weblogic.Server.main([Ljava.lang.String;)V(Server.java:32)
    >
    The problem is that the MDB cannot be set up to dequeue the message because the payload factory has to be set for the consumer in order to receive messages from queues which have messages with ADT payload.
    So my questions are:
    1) Is there a way to set the payload factory to use in the MDB? (deployment desc.)
    2) Do MDB support AdtMessages?
    3) Are there any other ways to listen to an Oracle queue which has ADT type?
    mvh
    jb

    Hi,
    I'm also having the same identical problem with an EJB 3.0 MDB listening to an AQ queue (via OJMS) with a payload type of ADT. I can successfully dequeue messages from a queue with a JMS payload type, but as soon as I point it to and ADT type queue I get:
    oracle.jms.AQjmsException: JMS-137: Payload factory must be specified for destinations with ADT payloads
    I can't however seem to find anything in the Oracle documentation that shows how to do this, and which class corresponds to this "payload factory".
    The following link seems to suggest that OJMS supports ADT types in addition to the standard JMS message types:
    http://www.oracle.com/technology/tech/java/oc4j/904/collateral/OC4J-FAQ-JMS-904.html
    although I'm not sure if this is true for Message Driven Beans.
    Could you please confirm whether MDB's support ADT message types?
    Many thanks
    Phil

  • Clustered WebLogic MDB receiving multiple messages...

    Hi all,
    I have a JMS WebLogic clustering problem.
    First, let me describe the problem.  The MDB of my application (it's a simple test application to get the clustering kinks worked out) is listening to a Topic and when I publish a message to the Topic the MDB is receiving the message multiple times.  I have a max of 4 managed servers in my cluster and when they are all running, each MDB on each managed server gets the message 4 times.  If I shut down two of the managed servers, then each MDB on each of the two running managed servers get the message 2 times.  So my MDB is receiving the message multiple times equal to the number of manged servers I have running in my cluster.
    So my question is what is the proper way to configure JMS Servers for a cluster?
    Next I want to explain how I start the managed servers in the cluster.  At this time I am unable to use NodeManager so starting of the instances is done manually via command line. Basically it's a wrapper around the startManagedWebLogic.sh script.  I know something is wrong with my JMS configuration because when I start the managed servers I will typically see an error which looks like this:
    <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: MyMDB is unable to connect ot the JMS destination: jms/myTopic.  The error was:
    werblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
    Nested exception: weblogic.messaging.dispatcher.DispatcherException: could not find Server NAME_OF_MANAGED_SERVER
    Nested excpetion: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.messaging.dispatcher.S:NAME_OF_MANAGED_SERVER'. Resolved 'weblogic.messaging.dispatcher'; remaining name 'S:NAME_OF_MANAGED_SERVER'>
    Despite this error message, the MDB on that manged server does still successfully recieve messages posted to the Topic, though, as stated earlier, my problem is the MDB is getting the message more than once.
    Also, I've confirmed all managed servers in the cluster can receive the message posted to the Topic no matter which managed server posts the original message.
    Next is to explain my cluster configuration.  I'm sure I know is is wrong, but not sure where my mistake is.  Here is my JMS configuration for the cluster.
    4 JMS Servers
    Persistence Store:
    Each JMS Server has its own persistent store
    Each store targets one of the 4 (migratable) managed servers
    Each store is a FileStore
    Filesystem is not shared between VMs in the cluster
    Target:Each JMS server targets one of the 4 (migratable) managed servers
    1 JMS ModuleTarget: The cluster - "All servers in the cluster"
    1 JMS Topic
    Destination type: Uniform
    Forwarding Policy: Replicated
    Template: None
    Target: The cluster - "All servers in the cluster"
    Subdeployment: Default Targeting
    1 JMS ConnectionFactory
    Subscription Sharing Policy: Exclusive
    Client ID Policy: Restricted
    XA connection factory enabled (YES)
    Target: The cluster - "All servers in the cluster"
    Subdeployment: Default Targeting

    Hi Michael,
    I need to clarify exactly what you want to happen. What you are saying you want is not typical. I expected you to say you wanted Scenario 8 or 9. Those are the most common.
    I will try to capture what your words are saying in "graphic text". I'm not sure that the graphic in the document is accurate.
    Server 1                      Server 2                      Server 3                      Server 4
    JMS svr 1                    JMS svr 2                   JMS svr 3                    JMS svr 4
    DistTopic-mem1         DistTopic-mem2          DistTopic-mem3          DistTopic-mem4
    MDB listens locally     MDB listens locally      MDB listens locally      MDB listens locally
    Events...
    1. Message published
    on Server 1
    2. Message is replicated
    to server 2
    3. Local MDB get message
                                      4. Message is replicated
                                      to server 3
                                      5. Local MDB gets message
                                                                          6. Message is replicated
                                                                          to Server 4
                                                                          7. Local MDB gets the message
                                                                                                                8. Local MDB gets the message.
    This is the standard Replicated Distributed Topic flow. Messages are replicated, and every message is forwarded to every member of the distributed topic.
    In the case, each message will be processed 4 times - once per server.
    This is what your text says you want.
    This is scenario 1 in the doc.
    I don't really know what is going wrong with your MDB. The topics are getting created per your comment about the ability to publish a message.
    Are you seeing errors during deployment?
    To answer your question about where to set topicMessagesDistributionMode and distributedDestinationConnection, they are set in a deployment descriptor or in an annotation in the MDB. See http://docs.oracle.com/middleware/1213/wls/WLMDB/summary.htm#WLMDB1385..
    Let me know if I described what you want to happen.
    If so, a replicated distributed topic and an MDB deployed to the cluster should just work with no need to set the descriptor elements.
    Dave

  • JMS Control to receive a message

    Hi all,
    I’m trying to createJMS Contro to test my JMS Server. A method to send a message was generated
    @Message(JMSControl.MessageType.Auto)
         public void sendMessage(Object body);but I cannot find how can I write a method to receive a message.
    Can anybody tell me how can I receive messages from JMS server with JMS Control?
    Many thanks
    Pavel

    It is possible till 8.1, but not from 9.2 versions. The suggested way to implement this for 9.2 or greater is:
    In version 9.2, a JMS control can't be used to receive messages. In upgraded code, you can work around this by developing a message-driven bean (MDB) to receive the messages or by invoking a web service using asynchronous request-response.
    Please refer this upgrade guide:
    http://e-docs.bea.com/workshop/docs92/ws_platform/upgrading/conChangesDuringUpgrade.html#features_not_supported
    regards,
    ~Poorna

  • MDB receive a message and then call an external web service

    Title basically says it all, but I'm looking for suggestions for the best way to have a message driven bean receive a message then process it and call an external web service with the results. This seems like a straightforward problem to solve but I keep getting stuck in the deployment to weblogic when I do it my way so I'm looking for new ideas.
    Basically, I have an MDB that gets deployed to WL 10.3 and receives messages just fine. Also, I have a standalone class, that runs from the command line or IDE, that can send messages to the external web service. But when I try to bring the code from the standalone class into the MDB and get it deployed, I can't get all the dependencies to resolve.
    So, is there a proper (quick and easy) way to do this? Which wizard should I be using to get Workshop to create web service client so that I can use it in my MDB project? Any suggestions to tutorials?
    Thanks,
    Matt

    Yes BusinessService is the reference point used in OSB to call a backend provider service. So we need to configure the business service based on the external service (they can be http based, jms based, etc ..)
    In your case I am assuming it is a http based web service. So below are the steps to be done:
    1. Create a business service (if you dont have a wsdl then create it as "Any soap type" else upload the wsdl as a wsdl resource and then use it) and configure the url of the business service with the URL of the external service you want to invoke.
    2. From the proxy flow, have a service callout action and select the business service. Then configure the appropriate body and header variables.
    3. Then test the proxy service from the test console, you should be able to see the response from the external service as a part of the service callout response.
    Let me know if you still have issues.
    Thanks,
    Patrick

  • Cannot install trial for Adobe Acrobat XI Pro on my computer - After I select download, I receive this message: This application cannot be installed because this installer has been mis-configured. Please contact the application author for assistance.

    Cannot install trial for Adobe Acrobat XI Pro on my computer - After I select download, I receive this message: This application cannot be installed because this installer has been mis-configured. Please contact the application author for assistance. Have tried doing so from multiple browsers.
    Please let me know how to download the trial version.
    Thank you.

    Try downloading Acrobat Pro XI using below link. Then try to installing it once again.
    Download Acrobat products | Standard, Pro | XI, X

  • HT4972 I tried updating my ipod from iOS 4 to iOS 5 but after it restored and i tried configuring it i receive an unable to activate message?

    I tried updating my ipod from iOS 4 to iOS 5 but after it restored and i tried configuring it i receive an unable to activate message?

    Well that is likely to be your problem. After the upgrade the phone locked to the orginal carrier.  You will need to find out who that was and either use a compatible SIM from that carrier or have that carrier offically unlock the phone

  • HT1926 I keep receiving a message after attempting to download itunes on my new computer. It states that an error has occurred during installation before iTunes could be configured. Help please!

    I have tried to download iTunes five times this afternoon to my new computer using both Fire fox and Explorer. Each time after it downloads I receive a message stating that an error has occured before the installer was able to be completed. I turned off the pop-up blocker like support suggested and I am running Windows 8.1, does anybody know how to fix this?

    Follow the instructions of tt2 given in: https://discussions.apple.com/thread/5822086

  • When I send a Group message from my address book, the entire group gets listed in the "To" line. How do I get each member to receive the message individually without listing all members? Its just messy is all.

    When I send a Group message from my address book, the entire group gets listed in the "To" line. How do I get each member to receive the message individually without listing all members? Its just messy is all. Any help is greatly appreciated.

    Hey Grupo Castillo,
    Thanks for the question. You can actually configure this behavior from Mail preferences:
    1. Choose Preferences from the Mail menu.
    2. Click Composing.
    3. Deselect the checkbox for "When sending to a group, show all member addresses".
    When you send an email to the group, only the groups name will be seen.
    Mac OS X: Mail - How to Hide Address Book Group Member Names When Sending an Email
    http://support.apple.com/kb/TA21082
    Thanks,
    Matt M.

  • IDoc to SOAP Receiver Fault Message Handling?

    Hi,
    I am working on IDoc to SOAP Scenario (IDoc -> PI -> SOAP). It is in async mode without BPM. This works fine as long as there is no error on the SOAP receiver side. How to handle the falut message raised by the SOAP receiver and send it back the SAP ECC.
    Do I need to use ALEAUD IDoc for this? If Yes, how to configure this to handle fault message? Is there any other way of doing it?
    Could you please give steps to handle the fault message?
    Thank you.
    Regards,
    Cdr.

    Have a look into the below threads -
    How to capture SOAPFault in an Async/Sync Scenario without BPM
    Acknowledgement Handling in IDoc to SOAP Scenario in PI 7.3

  • JMS (Transaction ???) problem, consumer receives all messages at once.

    Hallo, I have an application which implements asynch communication between the web and business layer using JMS.
    On a page a user can upload files, which are processed by the backend. For large files this can be a long running process, thats why we use JMS to send the file asynchronously and use JMS to update progress information on the page.
    The application works fine on JBoss 6 with HornetMQ.
    After porting to Weblogic I see consistently a strange phenomenon. The update messages from the processing backend logic are send as expected. But the receiver does not receive one message after another but receives all the messsages almost at once after only the producer has sent the last message.
    For me this is totally unexpected behavior and of course our progress bar on the page does not work properly, but merely jumps from 0 to 100% after the data has been processed.
    It looks like the consumer waits until the producer has finished its transaction. But how can this be possibly? I have learned that transaction never span producer - messagesystem - consumer.
    Example Code:
    Producer:
    import javax.annotation.PostConstruct;
    import javax.annotation.PreDestroy;
    import javax.annotation.Resource;
    import javax.ejb.EJB;
    import javax.ejb.Stateless;
    import javax.interceptor.Interceptors;
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.DeliveryMode;
    import javax.jms.Destination;
    import javax.jms.JMSException;
    import javax.jms.MessageProducer;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import org.apache.log4j.Logger;
    import com.sun.tools.ws.wsdl.document.jaxws.Exception;
    import dsde.core.aspects.DsdeException;
    import dsde.core.aspects.ExceptionHandler;
    import dsde.core.entity.Data;
    @Stateless
    @Interceptors(ExceptionHandler.class)
    public class ParserBean implements Parser {
         private Logger log = Logger.getLogger(this.getClass());
         @EJB
         private DataDAO dataDAO;
         //Weblogic
         @Resource(mappedName="jms.BackQueue")
         //Jboss
         //@Resource(mappedName="queue/dsdeBackQueue")
         private Destination backQueue;
         //Weblogic
         @Resource(mappedName="jms.dsdeConnectionFactory")
         //JBoss
         //@Resource(mappedName="XAConnectionFactory")
         private ConnectionFactory connectionFactory;
         private Connection connection;
         @Override
         public void parse(String text, String description, String sessionId) throws DsdeException{
              double percentDone = 0;
              double j = 0.0;
              //Simuliere was langdauerndes, schwieriges
              for (int i=0; i < text.length(); i++) {
                   j = i;
                   percentDone = j / text.length() * 100;
                   try {
                        Thread.sleep(1000);
                   } catch (InterruptedException e) {
                        log.error(e);
                   if (i % 2 == 0) {
                        //periodisch das Frontend mit dem Fortschritt updaten
                        sendFeedback((int)percentDone, sessionId);
              //Zum Schluss noch senden dass wir fertig sind
              //Sonst wird der Send Button nicht wieder aktiv
              percentDone=100;
              sendFeedback((int)percentDone, sessionId);
              //Jetzt wird noch richtig geparsed :-)
              String[] words = text.split(" ");
              //Entity konstruieren
              Data data = new Data(description, words);
              //Das Ergebnis in die Datenbank schreiben
              dataDAO.saveData(data);
         private void sendFeedback(int percentDone, String sessionId) {
              Session session = null;
              try {
                   session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                   MessageProducer producer = session.createProducer(backQueue);
                   producer.setTimeToLive(50000);
                   producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
                   TextMessage message = session.createTextMessage();
                   message.setJMSCorrelationID(sessionId);
                   message.setText("" + percentDone);
                   producer.send(message);
                   log.info("ParserBean has sent " + percentDone);
              } catch (JMSException e) {
                   log.error(e);
              } finally {
                   if (session != null) {
                        try {
                             session.close();
                        } catch (JMSException e) {
                             log.error(e);
         @PostConstruct
         public void init(){
              try {
                   connection = connectionFactory.createConnection();
              } catch (JMSException e) {
                   log.error(e);
         @PreDestroy
         public void close() {
              try {
                   connection.close();
              } catch (JMSException e) {
                   log.error(e);
    }Consumer:
    import javax.annotation.ManagedBean;
    import javax.annotation.PostConstruct;
    import javax.annotation.PreDestroy;
    import javax.faces.bean.SessionScoped;
    import javax.faces.context.FacesContext;
    import javax.jms.Connection;
    import javax.jms.ConnectionFactory;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Queue;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.servlet.http.HttpSession;
    import org.apache.log4j.Logger;
    @ManagedBean
    @SessionScoped
    public class FeedbackReceiverBean implements MessageListener {
         private Logger log = Logger.getLogger(this.getClass());
         //jndi names of managed objects
         private String connectionFactoryName;
         private String queueName;
         private Connection connection;
         private Session session;
         private int percent;
         private boolean disabled;
         public boolean isDisabled() {
              return disabled;
         public void setDisabled(boolean disabled) {
              this.disabled = disabled;
         public int getPercent() {
              return percent;
         public void setPercent(int percent) {
              this.percent = percent;
         public void setConnectionFactoryName(String connectionFactoryName) {
              this.connectionFactoryName = connectionFactoryName;
         public void setQueueName(String queueName) {
              this.queueName = queueName;
         @PostConstruct
         public void init() throws NamingException, JMSException {
              FacesContext facesContext = FacesContext.getCurrentInstance();
              HttpSession httpSession = (HttpSession) facesContext.getExternalContext().getSession(false);
              String sessionId = httpSession.getId();
              Context context = new InitialContext();
              ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup(this.connectionFactoryName);
              Queue queue = (Queue) context.lookup(this.queueName);
              this.connection = connectionFactory.createConnection();
              this.session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
              String filter = "JMSCorrelationID = '" + sessionId + "'";
              MessageConsumer consumer = session.createConsumer(queue, filter);
              consumer.setMessageListener(this);
              connection.start();
         @PreDestroy
         public void close() throws JMSException {
              this.session.close();
              this.connection.close();
         @Override
         public void onMessage(Message message) {
              if (message instanceof TextMessage) {
                   TextMessage textMessage = (TextMessage) message;
                   try {
                        this.percent = Integer.parseInt(textMessage.getText());
                        if (percent >= 100) {
                             this.disabled = false;
                        log.info("Prozent " + percent);
                   } catch (JMSException e) {
                        log.error(e);
              else {
                   log.error(message.toString() + " is no TextMessage");
         public void disable() {
              this.disabled = true;
    }Configuration:
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
      <connection-factory name="dsdeConnectionFcatory">
        <default-targeting-enabled>true</default-targeting-enabled>
        <jndi-name>jms/dsdeConnectionFactory</jndi-name>
        <default-delivery-params>
          <default-delivery-mode>Persistent</default-delivery-mode>
          <default-time-to-deliver>0</default-time-to-deliver>
          <default-time-to-live>100</default-time-to-live>
          <default-priority>4</default-priority>
          <default-redelivery-delay>0</default-redelivery-delay>
          <send-timeout>10</send-timeout>
          <default-compression-threshold>2147483647</default-compression-threshold>
        </default-delivery-params>
        <client-params>
          <client-id-policy>Restricted</client-id-policy>
          <subscription-sharing-policy>Exclusive</subscription-sharing-policy>
          <messages-maximum>10</messages-maximum>
        </client-params>
        <transaction-params>
          <xa-connection-factory-enabled>true</xa-connection-factory-enabled>
        </transaction-params>
        <security-params>
          <attach-jmsx-user-id>false</attach-jmsx-user-id>
        </security-params>
      </connection-factory>
      <queue name="dsdeQueue">
        <sub-deployment-name>dsdeQueue</sub-deployment-name>
        <jndi-name>jms/dsdeQueue</jndi-name>
      </queue>
      <queue name="dsdeFeedbackQueue">
        <sub-deployment-name>dsdeFeedbackQueue</sub-deployment-name>
        <jndi-name>jms/dsdeFeedbackQueue</jndi-name>
      </queue>
      <queue name="dsdeBackQueue">
        <sub-deployment-name>dsdeBackQueue</sub-deployment-name>
        <jndi-name>jms/BackQueue</jndi-name>
      </queue>
    </weblogic-jms>Any help would be greatly appreciated.
    Thanks,
    Hans

    Thanks for posting your analysis!
    I think your solution is probably best.
    FYI: Your JMS session was never a "transacted" session. It's definitely confusing, but the term "transacted session" has a special meaning in JMS, it actually refers to a session that is not XA/JTA aware and instead maintains an internal local transaction that's scoped only to the current JMS session's operations. A transacted session is created by passing "true" to the first parameter of createSession, and such a session's local transaction is committed by calling session.commit() (which starts a new transaction). To further add to the confusion, I think that JEE servers are actually obligated to ignore requests to set the transacted flag to true -- WebLogic does this trick by secretly wrapping access to the JMS API when applications lookup JMS connection factories via a resource reference.
    Regards,
    Tom

  • Seeburger AS2 Adapter:  Receiving multiple messages

    Hi guys,
    I'm having some trouble using AS2 Adapter for receiving multiple messages. The problem is really similar to Peter's problem.
    Seebuger AS2 adapter for XI as sender for multiple messages
    I have it configured for one scenario and it's working fine. The problem is when I'm trying to receive other messages for the same Party but different services. Meaning, I've one Party(example BMW) and several services (BMW_DE, BMW_USA, etc). I'm able to receive messages from service BMW_DE but when configuring BMW_USA I'm getting HTTP 403 Forbidden.
    This error may have different reasons:
    a) You or your partner has entered an incorrect AS2 ID for one of the involved parties.
    b) A valid sender agreement is missing.
    c) There are more then one AS2 sender agreements with the same sender AND receiver party.
    d) The corresponding inbound channel is set to inactive.
    And the problem is that there are two sender agreements. Although the services are different, XI is not able to find the correct sender agreement to be used. After deleting the second second agreement, I'm able to send the  respective message....
    Can anyone give me a hint on how to solve this problem?

    Hi,
    this is done by different AS2 subjects. The sender agreement is selected based on this. So create separate AS2 receiver adapters for every message you need and put there different message subjects.
    So if you'll have 3 AS2 receiver channels with subjects:
    MessageType1_DE
    MessageType1_US
    the AS2 adapter will work like following:
    first it tries to find an exact message subject, if it is found, message is "assigned" to this sender agreement. If no exact message matches the subject, then wildcards are used. (this mechanism is described in the Seeburger AS2 guide).
    If you are getting 403 HTTP code, there may be also problem with authentication certificates.
    Another problem may be, you don't have configured AS2 receiver channel for current subject.
    Does this help you? Or you meant it another way?
    Peter
    p.s. check the answer above my post, Vardharajan's right
    Edited by: Peter Jarunek on May 19, 2008 2:11 PM

  • Issue when receiving SOAP message with HTTPS on non-central adapter engine

    Hi,
    we have a central XI system (PI 7.1 EHP1 SP03) and a non-central adapter engine (XI 3.0) in the DMZ, both systems on HP-UX.
    In the affected configuration scenario, a business partner is sending us IDocs (INVOIC.INVOIC01) over HTTPS with Certificate Authentication and without SOAP Envelope.
    The configuration and security settings seem to be correct, because we've already received several messages successfully over this connection. Now, since several weeks no message arrives anymore in our system, while the business partner always gets a HTTP_OK_200 response. So the messages seem to be accepted by our system, but nothing is shown, neither in the MessageMonitoring or CommunicationChannelMonitoring of the Runtime Workbench, nor in the in the traces/logs of the NetweaverAdministrator (trace level = DEBUG for "com.sap.aii.adapter.soap").
    I also removed the assigned user in the sender agreement which should cause a HTTP_500_error on sender side, but our business partner still got a "OK_200" notification and we didn't find any information in the trace of our system.
    When using TCPGateway to trace the communication, I can see an arriving message and the response, but it's encrypted because of HTTPS.
    1) Did anyone have similiar issues yet?
    2) Are there any further possibilities to check if an incoming message at the SOAP adapter fails?
    3) Which further trace settings can be done, to get most detailed informations about the soap traffic?
    4) Is there a way to decrypt the message of the TCPGateway (e.g. with private key of server)?
    I'm looking forward for any helpful hints or information!
    Regards,
    Juergen

    Issue solved by SAP note 1115650 "J2EE Engine kernel.sda SP20 cumulative patch"

Maybe you are looking for