Proxy to JMS and JMS to Proxy - Szenario

Hi @all,
i've implemented an async scenario:
Proxy to JMS (away, request)
JMS to Proxy (way back, response)
Backend is ECC 6.0 and Middleware is PI 7.1.
Business Case: Run a request with a number, get an answer back with an entry. The number is an individual criteria which is not included in the answer. So I decided to write the number in JMSCorrelationID, therefore I've written an UDF in Message Mapping.
I've checked the JMS Correlation ID in additional properties and also added this into the list of additional properties:
key.0 -> read xxxx DCJMSCorreleationID
value.0 -> DCJMSCorrelationID.
First question: is there something what I should account for in JMS receiver channel?
At the way back I've implemented another UDF for writing the JMSCorrelationID back to payload in message mapping.
But I'm not sure that works. The coding looks like:
try
DynamicConfiguration conf = (DynamicConfiguration)
container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey KEY_JMSCorrID = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS","DCJMSCorrelationID");
String a = conf.get(KEY_JMSCorrID);
catch(Exception e){}
return a; //a is an input field for the payload back to SAP backend.
Second question: is there something what I should accound for JMS sender channel? Do I need to add the DCJMSCorreleationID to the list of additional properties (JMS Correlation is checked)?
Thanks in Advance,
Stefan

Hi,
thank you for your answer.
The Proxy to JMS scenario works well and overwrites the JMSCorrelationID given by a number from message payload.
Could you please take a look at the given udf-coding that belongs to JMS to Proxy Scenario?
Is it possible to get the JMSCorrelation at this way?
I also put in JMS-Sender-Channel the JMSCorrelationID into the additional JMS-Message properties and checked "correlation-id from jms message" in adapter specific message attributes.
In Module-Tab of JMS-Sender-Channel i put the module-configuration in a way like this:
-> key.0 insert http://sap.com/xi/XI/System/JMS DCJMSCorreleationID
-> value.0 DCJMSCorreleationID
Do you think that works?
I could not verify this configuration until I get an entry in outbound queue so I can't make tests to that.
In Message Mapping - Test a Null Pointer Exception Occurs, according to the UDF, because I'm reading the DCJMSCorreleationID which is not present at mapping ad hoc test - I think that is ok.
Thank you in Advance,
Stefan

Similar Messages

  • IDOC to JMS and JMS to IDOC.

    Hi All,
       I read most of the thread and found also some good link . But failed to get the exact thing that i need to carry out for this implementation. So , i am looking forward for your valuable help to get a clear understanding on this.
    Scenerio : IDOC to JMS.
    1. What need to carry out for configuring the JMS adapter as the receiver.
       I know the configuration side from SAP[IDOC] to XI side. But dont have any idea on configuring the JMS adapter.
    2. What drivers that i need to instal on ? & how can i know which driver should i use for my scenerio ?
    3. What details do i need from the client ?
    Scenerio : JMS to IDOC.
    1. I have the same thing to configure from JMS to SAP[IDOC], SO for this what else do i need to configure?
    2. What need to carry out for configuring the JMS adapter as sender?
    Can anyone, please provide me the details on this..
    Thanks in advance.
    Jay.

    Hi,
    Check the links
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c1/739c4186c2a409e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/65/52693cab05e079e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/f8/24ee41c334c717e10000000a155106/frameset.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/frameset.htm
    Thanks!

  • How to pass JMS header Information to proxy field

    Hi,
    I am working with JMS to Proxy scenario (Synchronous).
    I am getting one header field at sender JMS channel which need to be mapped with one of the Proxy field.
    and similarly  when proxy returning one field value that need to be mapped with receiver channel header information.
    could any one help me on how to achieve  this.
    regards,
    Navneet

    Hi,
    >>Now My Question is how can I get Dynamic Configuration Key
    Like this
    1. switch on ASMA in sender JMS communication channel
    2 Assign this udf to target field
    UDF code
    DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
    DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS","DCJMSMessageProperty9";
    String valueOld = conf.get(key);
    return valueOld;
    3. Do a  end to end testing (message mapping test will;l throw error)
    Regards
    Suraj

  • Error Destination in JMS Transport Configuration page (Proxy Services)

    Hi, Can anybody provides me the sample of Error Destination in JMS Transport Configuration page (Proxy Services) .I need to know the format. I am using "jms://<host:port[,host:port]*/factoryJndiName/destJndiName>", but it does not work.
    From Oracle webstie, http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/interopjms/transport.html, the detail description of Error Destination is " In this field you can configure the name of the target destination for the messages, which have reached the maximum number of retry count. "

    Can you provide the JNDI name of the error destination alone there ?

  • Can I supress BPM for Asyn outbound and syn inbound proxy interface

    Hi all,
    Is there any other alternate to remove the BPM at asyn outbound and syn inbound proxy interface. Reason because I can create another outbound proxy interface at the receiver. But at receiver side we already invested huge code to develop the sync server proxy. So the intension is, with out disturbing the code Can I make the message flow with out BPM?
    Because the reason of removing BPM is for a simple interface like this I don't want to use BPM. souce is JDBC and receiver is ECC 6.0. I know with out BPM it can not be achieved but in PI 7.1 EHP 1 by any chance can we do?
    I mean during response mapping from server proxy shall we use look up function to achieve?

    This bean I have to use at sender channel right?
    Yes
    I mean is it is limited to JMS adapter?
    No
    You can find more information in the Wiki which deals with FILE  to RFC synchronous...using the above Module

  • OSB and JMS

    I need to create a BS which will push messages to a Queue(on separate machine/server/domain) .
    Im not sure how to push the message to a JMS Queue runnin on separate Weblogic 10. xdomain/server than where OSB is installed.
    Error Im getting is
    weblogic.jms.common.JMSException: Connection not found.
    Rgds,

    I have a similar situation
    My connection factory and queue is define on SOA Suite 11g WL Server instance with jndi name as jms/demoCF and jms/demoQueue
    Now when i try to refer this queue from OSB WL server instance using the Proxy Service and url as
    jms://localhost:7001/jms.dempCF/jms.demoQueue ...its not able to pick the message.
    I tried using jms://localhost:7001/jms/dempCF/jms/demoQueue (know this will never work but still wanted to give a shot).
    Can anyone help me in formatting the correct URL to read the message from the queue?
    Thanks

  • About JCOM and JMS

              if i use JCOM to communicate Microsoft Client and JMS server,can i code the client
              just like in the java,get connectionFactory,create connection,create session,create
              sub,implement onMessage method,set Listener,then wait coming message
              just use class reference(idl) to instead the true class,is it right?
              

              jerry8006 wrote:
              > if i use JCOM to communicate Microsoft Client and JMS server,can i code the client
              > just like in the java,get connectionFactory,create connection,create session,create
              > sub,implement onMessage method,set Listener,then wait coming message
              >
              > just use class reference(idl) to instead the true class,is it right?
              I think so, but I'm not sure how JCOM would work async - try the jcom
              newsgroup. Note that coding it this way would mean that every call
              would end up being a remote call, including things like
              "textMessage.getText()". It would be simpler and better peforming to
              just to use WebLogic JMS C client or the ActiveJMS generic JMS wrapper.
              If you plan to use JCOM I would seriously consider using simple session
              beans as wrappers that make a the JMS calls on the server side (a
              "proxy" pattern). For example, the ejb proxy "send(destName, text)"
              call would create the jms connection-factory/connection/session/sender
              if they don't already exist, and then call sender.send().
              Tom, BEA
              

  • JCOM and JMS

    I tried using JCOM example given in weblogic documentation. In the example an excel sheet macro tries to connect to the weblogic server and looks up an object bound on the JNDI tree.
              but I am getting following error : "An error occured while binding EJB objects." Could anyone please throw some light on whats happening and how can I correct this error.
              Thanks in advance,
              Tarun

              jerry8006 wrote:
              > if i use JCOM to communicate Microsoft Client and JMS server,can i code the client
              > just like in the java,get connectionFactory,create connection,create session,create
              > sub,implement onMessage method,set Listener,then wait coming message
              >
              > just use class reference(idl) to instead the true class,is it right?
              I think so, but I'm not sure how JCOM would work async - try the jcom
              newsgroup. Note that coding it this way would mean that every call
              would end up being a remote call, including things like
              "textMessage.getText()". It would be simpler and better peforming to
              just to use WebLogic JMS C client or the ActiveJMS generic JMS wrapper.
              If you plan to use JCOM I would seriously consider using simple session
              beans as wrappers that make a the JMS calls on the server side (a
              "proxy" pattern). For example, the ejb proxy "send(destName, text)"
              call would create the jms connection-factory/connection/session/sender
              if they don't already exist, and then call sender.send().
              Tom, BEA
              

  • Using socket and JMS protocol in the same logic for OSB

    Hi frnds,
    In my organization...the only communication protocol used is "socket" protocol. However, I want to use JMS protocol to process incoming messages. Can somebody help me figuring out how to go about it.
    Using some nice OSB blogs, I am able to create the JMS connection factory and JMS queues in weblogic. And that works fine when I select the communication protocol as JMS while creating the BS and PS.
    What should be my message flow when the communication protocol used is "socket" for both BS and PS.
    salil

    Hi,
    Make the BS as JMS and the PS as socket, in the PS's flow do a route for the BS... Then if an external call is made to the PS via socket, it will send a messages to a JMS queue...
    Hope this helps...
    Cheers,
    Vlad

  • Difference Between JMS and RMI

    Difference Between JMS and RMI in J2EE Technologies

    STFW
    JMS - http://www.google.co.za/search?hl=en&q=what+is+jms&meta=
    RMI - http://www.google.co.za/search?hl=en&q=what+is+rmi&meta=

  • Problem with EJB and JMS - Failed to obtain/create connection

    hello ejb and jms programmers,
    My problem is my topic MDB keep on retrieving the same message when there is a database connection failure. Maybe somebody could help me how to prevent to retrieve the same data?
    Given:
    - I purposedly turn off the pointbase database because im testing my error handling.
    - Im using SJSAS 8 as my application server.
    - My message Driven Bean of topic type.
    - Im using CMP for my entity bean
    Here is the scenario of whats happening - step by step:
    1. A separate application publishes a message to JMS queue server
    2. My MDB retrieves this message and do some processing then inserts a record (transaction history) in my database
    3. But my db is turned off or down
    4. My MDB sends a successful processing reply to the JMS queue server
    5. Then i noticed that my server.log keeps on growing so when i opened it, the record was not inserted and printed the stacktrace below "RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException" (complete stacktrace below)
    6. I understand the cause of the stacktrace is because the DB is turned off. But what i dont understand is that my MDB keeps on reading the same message. Since my MDB is of topic type, isnt a topic MDB supposedly reads a message only once???
    So my questions are:
    1. how do i handle insert database error?
    2. how can i stop my MDB from processing the same message?
    3. any better suggestions?
    Thank you in advance :)
    leigh
    *** more complete stack trace ***
    [#|2005-01-09T15:35:57.097+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.transaction|_ThreadID=17;|JTS5041: The resource manager is doing work outside a global transaction
    javax.transaction.xa.XAException
         at com.pointbase.xa.xaException.getXAException(Unknown Source)
         at com.pointbase.xa.xaConnectionResource.start(Unknown Source)
         at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:162)
    [#|2005-01-09T15:35:57.167+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5027:Unexpected exception in resource pooling
    javax.transaction.SystemException
         at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:185)
         at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:360)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:303)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:115)
    [#|2005-01-09T15:35:57.177+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException|#]
    [#|2005-01-09T15:35:57.227+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: javax.transaction.SystemException]|#]
    [#|2005-01-09T15:35:57.237+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb|_ThreadID=17;|EJB5071: Some remote or transactional roll back exception occurred
    com.sun.jdo.api.persistence.support.JDODataStoreException: JDO77006: SQL exception: state = null, error code = 0.
    NestedException: java.sql.SQLException: Error in allocating a connection. Cause: javax.transaction.SystemException
    FailedObjectArray: [[email protected]5ac]
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnectionInternal(TransactionImpl.java:1444)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnection(TransactionImpl.java:1339)

    Hi annie,
    Wherever you are handling database transactions,
    you'd not be able to create a Connection if database
    is closed (I think you mentioned turning off the
    database) then at this condition, you should
    certainly throw a System level exception and stop all
    processing with some meaningful flow to indicate a
    failure (like display message on UI). Even
    network problems are handled by exceptions... so I
    don't see a reason why you didn't wrap it in the
    first place.
    Anyway, try handling specific exceptions rather than
    the general Exception... this will give you a better
    idea of what to do in case of an exception.Yes i know this. I am practicing this in my non-j2ee server applications. But the j2ee app im making, i just pass the db url in the descriptor and the app server automatically creates the connection for my app. So where would i put exception handling?
    2. how can i stop my MDB from processing the same
    message?Guaranteed delivery is not supposed to stop
    processing. It will continue to process the message
    after certain intervals till the message is
    delivered. You shouldn't deliver it at all, if you
    are able to detect that the database is off
    The problem here is that my MDB automatically retrieves the message from the JMS queue server. Im not the one retrieving the messages manually.
    My assumed behavior of topic MDB is once the a certain MDB retrieves a message it will not retrieve the same message anymore.
    thank you in advance.
    leigh

  • My app store is not working after installing mavericks. When I open app store it repeatedly asking me to login with apple ID and to provide User name and Password for proxy authentication in a loop.I am a newbie to mac,Please help me.

    My app store is not working after installing mavericks. When I open app store it repeatedly asking me to login with apple ID and to provide User name and Password for proxy authentication in a loop.I am a newbie to mac,Please help me.

    Hmmmm... would appear that you need to be actually logged in to enable the additional menu features.
    Have you tried deletting the plists for MAS?
    This page might help you out...
    http://www.macobserver.com/tmo/answers/how_to_identify_and_fix_problems_with_the _mac_app_store
    Failing that, I will have to throw this back to the forum to see if anyone else can advise further.
    Let me know how you get on?
    Thanks.

  • How does a proxy servlet work and how to set up

    I'm a newbie to Weblogic, using 8.1SP3. I came across documentation about a Proxy Servlet that allow weblogic to proxy requests to another web server. This is the scenerio I'm trying to set up. I want to create a weblogic module that proxies to yahoo.com. The communications between weblogic and yahoo may not be SSL, but from weblogic back to my client is SSL. I created a yahoo directory under user-projects\domains\mydomain. I created a WEB-INF\web.xml with the following based on the documentation:
              <!DOCTYPE web-app PUBLIC
              "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
              "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">
              <web-app>
              <servlet>
              <servlet-name>ProxyServlet</servlet-name>
              <servlet-class>weblogic.servlet.proxy.HttpProxyServlet
              </servlet-class>
              <init-param>
              <param-name>redirectURL</param-name>
              <param-value>http://www.yahoo.com:80</param-value>
              </init-param>
              </servlet>
              <servlet-mapping>
              <servlet-name>ProxyServlet</servlet-name>
              <url-pattern>/</url-pattern>
              </servlet-mapping>
              <servlet-mapping>
              <servlet-name>ProxyServlet</servlet-name>
              <url-pattern>*.jsp</url-pattern>
              </servlet-mapping>
              <servlet-mapping>
              <servlet-name>ProxyServlet</servlet-name>
              <url-pattern>*.htm</url-pattern>
              </servlet-mapping>
              <servlet-mapping>
              <servlet-name>ProxyServlet</servlet-name>
              <url-pattern>*.html</url-pattern>
              </servlet-mapping>
              </web-app>
              I deploy the yahoo directory from the admin console and when I go to https://localhost:7002/
              I would expect to see the www.yahoo.com page. Am I missing something. Is this not what the proxy servlet is for, is the above possible? Any help and suggestions appreciated.
              --Sam                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hey Anders, it's working....
              Believe it or not, all I did after adding the weblogic.xml was restart the bea server; even though I had redeployed the module.
              So, thank you very much for your patience and suggestions.
              --Sam                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • I can no longer load website through firefox updated (tho, I can thru other search engines and browsers) fixing proxy settings didn't work. Other ideas?

    I upgraded recently my firefox browser on my home computer which still runs Windows XP. I can no longer find websites thru firefox, tho, I can load websites through a google or yahoo search.
    The firefox browser won't download secure or unsecure site. I type in the full name of the site, and it just hangs. I do not receive an error message.
    Internet explorer continues to work fine on the computer.
    I emptied my cookies and search history and updated the proxy setting to "no proxy". I still have the same problem.
    I tried to uninstall and reinstall firefox with the hopes of changing the initial settings (to see if I should have disabled or abled more of the boxes). Unfortunately, the program didn't fully uninstall .. and the firefox reverts to where it was the last time I logged on.

    A possible cause is security software (firewall,anti-virus) that blocks or restricts Firefox or the plugin-container process without informing you, possibly after detecting changes (update) to the Firefox program.
    Remove all rules for Firefox and the plugin-container from the permissions list in the firewall and let your firewall ask again for permission to get full unrestricted access to internet for Firefox and the plugin-container process and the updater process.
    See:
    *https://support.mozilla.org/kb/Server+not+found
    *https://support.mozilla.org/kb/Firewalls
    *http://kb.mozillazine.org/Error_loading_websites

  • Compare creation of Datasources and JMS Queues : SAP vs (Weblogic/Websphere

    I am used to creating JDBC Datasources and JMS Queues on Weblogic/Websphere thru their Admin applications.
    Can someone compare/contrast that process to that on SAP's netweaver ( either using NWA or Visual Administrator).
    Thanks

    Hi Parag,
    For the process of creating JDBC datasources and JMS resources @ SAP NetWeaver you can refer to the documents here on SDN and help.sap.com, and compare that process for yourself, thus not being influenced by others' biased or unbiased opinions.
    For NetWeaver 04 and 04s these would be:
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/b0/6e62f30cbe9e44977c78dbdc7a6b27/frameset.htm">JDBC Connector Service</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/22/cf4e71c46cdb4da31153be96c5389f/frameset.htm">JMS Connector Service</a>
    For the <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/javaee5">Java EE 5 Edition</a>:
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7bb9751d-0e01-0010-febd-c3adce2c408c">Working with Database Tables, DataSources and JMS Resources</a>
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/806e75a0-0e01-0010-2587-fc518de8ac1a">Administration Guide</a> -> section "Application Resources Management" (pages 89-104)
    Hope that helps!
    Your feedback/findings are very welcome!
    -Vladimir

Maybe you are looking for

  • Apple Loops Utility Question

    Can you some how bring up the selected transient spots of a created apple loop into Logic for chopping purposes? then import them into an exs instrument? and if so will the chops adjust accordingly when the tempo is changed on the transport? thanks D

  • Jump from alv report to FB03 screen when u click BELNR field

    Hi experts, I developed one alv report in that one field is there (BELNR .When u click on BELNR field it will directly go to FB03  screen. I wrote in this way.   FORM USER_COMMAND USING UCOMM LIKE SY-UCOMM SELFIELD TYPE SLIS_SELFIELD   CASE SELFIELD-

  • How do I get rid of searchqu/406 as my home page?

    I can not get rid of www.searchqu/406 as my home page . It does not respond to the normal methods of removing

  • SQL unicode to XML using XMLForest

    I'm using XMLForest to retrieve some data from the db. One of the columns has unicode characters such as "Ă". I use XMLForest to read in this data, but the result turns this Ă into a "?". How do I keep the unicode format? I need to output this xml to

  • Mix of Arabic and English causes problems in JTextArea

    I have a JTextArea which displays HTML of an Arabic web page. So it's essentially a mix of English and Arabic. In the JTextArea, with columns set to 30, certain text just disappears instead of wrapping properly. The weird thing is that if I copy the