JMS: To proxy or not to proxy inside a Schema
We are an eGate SRE 5.05 shop running AIX 5.3 and working on getting on getting CAPS up and running.
Our SRE 5.05 translations are monk and 50/50 on Standard Queue vs JSM queues.
We have a few inbounds eways that go to a queue, and many outbounds off that queue ( topics).
I think using JMS Services to bridge between CAPS is a great concept. It definately works extremely well between eGate schemas. But how about using the eway connector inside a schema?
It would appear that the benefit to the proxy, is that we see the name of the collaboration/event in the JMS Administrator. The downfall to this is that when we make a change to one eway, all configurations get updated (we have registry updates turned on and make changes often enough that we need this on). Sometimes, it takes a while for all configurations to get updated, and some of the eways simply stop processing altogether. We have to stop and start those eways to get them processing again.
This configuration update does not occur to those eways that get their data via JMS eWay Connector.
Let me rephrase this question: Which is more efficient / less problematic: using JMS Queues and eWay Connectors or JMS Queues and Proxying (publishing/subscribinbg through the collaboration).
If you're only thinking of exploiting asynchronicity to match your web requests and load balancing to match your volumes, then your senior architect's advise may be correct. I think you're paying to use MOM to use a subset of what it provides in an application that may not be inherently MOM-leaning.
Having said that, I have to say that I completely disagree with the overall focus of Tom Laramee's JavaWorld draft you linked to below. Load balancing, caching, security, etc. are all important features to consider. However, in my opinion the primary benefit of using message oriented middleware is the decoupling of fuctionality and work schedules in large distributed systems. None of the other solutions he discusses can even come close to solving these problems the way MOM does.
I used to work at a large investment bank in the back office where we processed hundreds of thousands to over a million transactions per day. Our systems were very large and complex. Without having our system broken down into small, independent functional units (that could be independently tested and tuned) that communicated via MOM, I think the implementation would have been next to impossible, and even if possible, never maintainable. Apart from the functional decoupling, MOM queues served as excellent buffers to allow interconnected systems to work on their own schedules.
I have worked with 2 other MOM products and I have to say that out-of-the-box JMS has the simplest API that I have seen. I had a very cool database-linked, cross-platform chat application running in no time. JMS is only as complex as you need it to be. The more features you exploit, the more complex it becomes. But basic messaging is very easy.
Similar Messages
-
Problem in JNDI Lookup of Deployable Proxy inside logon.par
Hi,
I have customized the Logon par file and have a functionality to call a webservice when the Password Reset happens.
<b>from the ResetPassword.jsp , SAPMLogonLogic.java is getting called ,and there is a method called performResetPassword().</b>
I am calling a Deployable Proxy in that method by using the below code,
<b>Gateway objGateway=(SMSGateway)ctx.lookup("java:comp/env/MailProxy");
MailGatewayViDocument objSMSGatewayViDocument=(MailGatewayViDocument )objGateway.getLogicalPort("wsPort_Document",MailGatewayViDocument.class);</b>
objMailGatewayViDocument.sendMail(...);
I am getting the Exception,
<b>com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Path to object does not exist at java:comp, the whole lookup name is java:comp/env/MailProxy.</b>
I have deployed the Deployable Proxy in the J2EE Engine and add this API Jar as the External Library (Project >Properties>Java Build Path ---> Add External jars...Added the .jar file generated in the Proxy Project).
Please let me know the possible solutions where i can call a deployable proxy inside the logon par file.
Thanks and Regards,
SekarHi Sekar!
Try this:
MailGateway objMailGateway=(MailGateway)ctx.lookup
("wsclients/proxies/sap.com/MailProxy/com.ms.sap.sms.MailProxy/wsPort_Document");
I have understood you're deploying a par file... if you are doing this way, don't forget to put a reference to the webservice in portalApp.xml:
<property name="PrivateSharingReference" value="SAPJ2EE::sap.com/com.ms.sap.sms.MailProxy"/>
Hope this can work.
Are you sure this destination is the one you are looking for?
sap.com/CHEPSMSProxy/com.ms.sap.sms.SMSProxy/wsPort_Document
It seems to be anther app. If this is the correct app then the JNDI should be:
MailGateway objMailGateway=(MailGateway)ctx.lookup
("wsclients/proxies/sap.com/CHEPSMSProxy/com.ms.sap.sms.SMSProxy/wsPort_Document");
If this fails and if you have have source code of the proxy app, check out the application.xml file, and look for Display name. Also look for the application-j2ee-engine.xml file, and look for the 'Vendor name', and post them please.
Eneko
Message was edited by:
Eneko Rodriguez -
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,
StefanHi,
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 -
Calling Syn proxy inside the proxy
Dear Friends,
1.) Can we call a synchronous proxy inside the asynchronous proxy. if yes tell, how this can be handled.
2.) Consider my sender JDBC is synchronous and it has the polling interval is 30 sec. If in case if the time crossed the 30 sec but still the response didnt come, in this case will my channel wait with out polling or it polles b4 the response comes.
Thanks
PremHi Prem,
For every request in synchronous communication there should be corresponding response from the receiver, if for any reason receiver doesnt respond there will not be any further message processing.
Go throgh the following link
JDBC to Synchronous ABAP Proxy
Regards
Sridhar Goli -
Deploy XI java Proxy inside JBoss application server
Hello,
Can I deploy XI java Proxy inside JBoss application server
Appreciate you response.
ThanksHi,
<b>Yes</b>
You can deploy your Java Proxy inside JBoss Server (in any Application server). But this will be possible only for Client Java Proxy and not for Server Java Proxy.
I have succesfully completed those scenarios.
After generating Client Java proxy, create EJB application with generated Java classes for proxies and deploy it in JBoss.
Then you can access that EJB to pass inputs either in standalone application or some JSP.
Regards,
Uma -
Send data via PI to a proxy inside the same PI system?
Hi,
I want to transfer data send to PI to several other applications and in addition to the same PI system. Therefor I thought PI proxy technology would be the best but. When I send the data to the PI proxy I will get an infinity loop.
So I want to do the same what is possible with IDOC scenarios. I found an article telling me that I need to set up a different client inside the PI system and configure this client as Application System and not as PI inside sxmb_adm.
But this does not work and I never found this article again.
Any ideas?
BR Markus>
Jan-Markus Wilhelm wrote:
> Hi,
> I want to transfer data send to PI to several other applications and in addition to the same PI system. Therefor I thought PI proxy technology would be the best but. When I send the data to the PI proxy I will get an infinity loop.
>
> So I want to do the same what is possible with IDOC scenarios. I found an article telling me that I need to set up a different client inside the PI system and configure this client as Application System and not as PI inside sxmb_adm.
> But this does not work and I never found this article again.
>
> Any ideas?
>
> BR Markus
the only way, yes is to have a different client which is configured as the application system.
if you look into this blog it shows two different client of the XI system interacting with each other...
yours will be similar /people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy -
Hello,
I am doing a JMS to Proxy scenario, so in mapping at run time i am getting
an error as:
Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 30, 30, 20(:main:, row:1, col:3) com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 30, 30, 20(:main:, row:1, col:3) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:157) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:534) Root Cause: com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error:
My source file is :
00 QY040 AM01- NBG IABENT21 A 6257069 21 00000020001 20070301200703030002167440 429900000002167440teealm tezste A:10245980-1; 1/1; I/EE-31; 91830; ALMSTETTER,HANS 000000000 10245980-1 ALMSTETTER,HANS91830
Can any one throw some light,how does JMS handle incoming data ?
Regards,
Anirban.Hi All,
I want to configure JMS to Proxy Scenario , the link provided above doesnt show any blog.
Can anyone explains what steps I need to follow to configure JMS to PROXY scenario? More specifically configuration and stpes to be considered in case of JMS configuration . (Proxy I know ).
I do have the XSD , source structrure which will be genrated via MQ .
Thanks,
Pushkar -
Hi,
Can anyone give me the detailed step by step procedure for configuring a sender JMS adapter and also to test it(JMS to Proxy).Hi,
go through this link
http://help.sap.com/saphelp_nw04/helpdata/en/ee/bf9640dc522f28e10000000a1550b0/frameset.htm
Regards,
Kumar.
P.S:Reward points if helpful!!!! -
Increases number of JMS consumers in an OSB jms-polling proxy service
Hi All,
I'm looking for an option of increasing the number of JMS consumers in a JMS OSB proxy service. I know that this is possible by modifying the ejb, but I'm looking for any other option by using weblogic/proxy configuration. When I monitor the queue I have a number of 16 message consumers, but I would need to increse it to a higher number in order to improve the performance.
Please send me any suggestion o advice to solve it.
Thanks in advance
LuisSorry I sent it to the wrong place. I have moved it to Weblogic
-
When using rabbitmq-jms for vFabric RabbitMQ javax.jms.Message.getJMSDestination does not return the actual destination when it is received from a consumer listening on a Topic with a wild card. I have tested with both 1.0.3 and 1.0.5 clients with RabbitMQ 3.1.5.
I was wondering if the community was aware of this problem and if there are any workarounds? If not what is the proper channel to file a bug report. An example code snippet is below. The test fails because the TextMessageMatcher expects the destination passed in on construction (second parameter) to equal the desination on the message received (aquired from getJMSDestination).
Mockery context = new Mockery();
final MessageListener messageListener = context.mock(MessageListener.class);
final Latch latch = new LatchImpl();
final String prefix = "test" + System.currentTimeMillis();
context.checking(new Expectations() {
oneOf(messageListener).onMessage(with(new TextMessageMatcher("MSG1", prefix + ".1234")));
will(new CustomAction("release latch") {
@Override
public Object invoke(Invocation invocation) throws Throwable {
latch.unlatch();
return null;
final Connection connection = createConnection(null, null);
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
connection.start();
Topic wildcardTopic = (Topic) getInitialContext().lookup(prefix + "." + "#");
Topic destination = (Topic) getInitialContext().lookup(prefix + ".1234");
final MessageConsumer consumer = session.createConsumer(wildcardTopic);
consumer.setMessageListener(messageListener);
MessageProducer producer = session.createProducer(null);
producer.send(destination, session.createTextMessage("MSG1"));
latch.await(5000);
connection.close();
Thread.sleep(5);
context.assertIsSatisfied();Check where your MDB sends the [response] messages to.
-
JMS sender adapter is not picking up message from MQ
Hi Experts,
I have configured the JMS sender adapter for getting message from Websphere MQ. In RWB the adapter and the communicaiton channel all looking good. The trace file tells me the connection to the queue has been established.
But the problem is this JMS sender adapter is not picking up message from the Queue defined on the MQ site.
Any Idea what could be wrong?
Thanks!
Jason
JasonHi,
1) Can you activate the JMS adapter again ( edit save and activate it )
2) Check whether the right Queue is addressed.
Regards
Agasthuri Doss -
CD JAMMED- not laying flat inside??
I have an iBook G4 and inserted a CD into the slot on the side. It automatically made an extremely strange noise that has never been made before. It did not read the CD, and when I tried to eject it, it would not do anything. It made very strange sounds like the CD was not laying flat inside the slot or something.
I have tried rebooting and holding down the trackpad.... but that didn't work.
It sounds like the CD is off the track (if that's possible) inside the computer, or it's not centered or its not laying in the right spot.
Any suggestions are appreciated!!! (It's very hard to describe what is going on without being able to hear it.)
Thanks a bunchHey Allen -
Do you still have a warranty going? Sounds like a job for Apple because it's a hardware issue of some sort. You've already tried holding down the trackpad while starting and that didn't work and that's about all the help you can get in a forum. I can only suggest trying again with the trackpad button or try it with the eject button.
I wonder if it's a different foreign object and not a cd/dvd. It could be a label off a cd/dvd. -
Crystal Report Images Not Showing - JSP inside /WEB-INF folder
Hi Experts,
I am using Crystal report for Eclipse and also using Struts2 and tiles framework combination.
The problem is when viewing the report all I've got is red X on all images and the graph image also not showing. This is when I use tiles and my jsp is inside the web-inf folder.
This is my struts link: href="s:url value='/report/reportOpen.action?report=1'
I've checked that the path to the viewer generated HTML is not correct. see code below.
src="../../../crystalreportviewers/js/crviewerinclude.js"
But when I test to access a simple jsp viewer that resides on the web root folder, this works fine but of course this is not what I want to have. I need to have my banner and menus on top of the report page (using tiles)
This is my jsp link: href="s:url value='/ReportViewer.jsp?report=1'
Viewer generated HTML below.
src="crystalreportviewers/js/crviewerinclude.js"
This might be a common problem and that you can share to me your solution.
Note: I removed the script tags because I can't submit this entry.
Thank you in advance,
Regards,
Rulix Batistil
Crystal Report Images Not Showing - JSP inside /WEB-INF folderHi Saravana,
After a few experimentation from your idea i was able to figure out the problem and now it is working.
I don't have to copy the folder to where my jsp resides but still maintains it in the root location: web/crystalreportviewers
The changes should always be in web.xml.
1st: change the crystal_image_uri value to ../crystalreportviewers
2nd: change crystal_image_use_relative value to "web"
Change to "web" instead of webapp because that is what I named my web root folder.
<context-param>
<param-name>crystal_image_uri</param-name>
<param-value>../crystalreportviewers</param-value>
</context-param>
<context-param>
<param-name>crystal_image_use_relative</param-name>
<param-value>web</param-value>
</context-param>
Thank you. You showed me the way on how to solve the 3 day problem.
BTW, my next problem is when clicking on any buttons prev/next/print/export, I got this error HTTP Status 404.
Well, at least for now I can view my initial report. I just need to figure out the next issue and with the help of the great people here in the forum.
Thanks a lot.
Regards,
Rulix
Edited by: Rulix Batistil on Nov 26, 2008 7:27 AM -
Firefox does not open links inside of Google Mail, but Internet Explorer Does
Firefox does not open links inside of Google Mail - any email, but Internet Explorer does.
== This happened ==
Every time Firefox opened
== The past few days, not exactly sure when, but recently.Hello John.
You may be having a problem with some extension or plugin that is hindering your Firefox's normal behavior. Have you tried disabling all add-ons (just to check), to see if Firefox goes back to normal? -
Can not access ASAs inside interface via VPN tunnels
Hi there,
I have a funny problem.
I build up a hub and spoke VPN, with RAS Client VPN access for the central location.
All tunnels and the RAS VPN access are working fine.
I use the tunnels for Voip, terminal server access and a few other services.
The only problem I have is, that I could not access the inside IP address of any of my ASAs, neither via tunnels nor via RAS VPN access. No telnet access and no ping reach the inside interfaces.
No problem when I connect to the interface via a host inside the network.
All telnet statments in the config are ending with the INSIDE command.
On most of the ASAs the 8.2 IOS is running on one or two ASAs the 8.0(4).
For the RAS client access I use the Cisco 5.1 VPN client.
Did anybody have any suggestions?
Regards
MarcelMarcel,
Simply add on the asas you want to administer through the tunnels
management-access
http://www.cisco.com/en/US/docs/security/asa/asa82/command/reference/m.html#wp2027985
for asa5505
management-access inside
for all others if you have management interface management0/0 defined then:
management-access management
then you may need to allow the source , for example if RA VPN pool network is 10.20.20.0/24 then you tell asa that network cann administer asa and point access to inside, but sounds you have this part already.
telnet 10.20.20.0 255.255.255.0 inside
http 10.20.20.0 255.255.255.0 inside
same principle for l2l vpns
Regards
Maybe you are looking for
-
RFC connection error (VPN-access)
Hi! I have the following error for the RFC connection: The RFC connection is setup as follows. /H/10.101.7.1/S/3299/H/10.151.6.194 10.101.7.1 = IP of our SAP Router 10.151.6.194 = IP of customer system The RFC connection is established: SAP Router (i
-
Xsl output placing %20 (spaces) in output
Xsl output placing %20 (spaces) in output when XSL file is save by Dreamweaver CS3, I notice a problem in Dreamweaver CS3 today, when editing XSL files. Here is the xsl code Note: I have no problems when using DW 8 for writing my xsl style sheets. I
-
E52 Speakerphone volume too low
Hello, When using speakerphone on E52 sound volume is too low. Even if I keep it on max, it's still too low. Considering that ringtones can be played with a lot stronger volume using the same speaker (as speakerphone does) - I assume there must be a
-
hey guys when i try and put music to my ipod through the itunes software it tells me there is an error copying music to the ipod i have restored the pod 5 times now with no luck in getting music back on to it the first problem it had was when i eject
-
JDBC adapter error : ora-00933 SQL command not properly ended
but I am quite sure to my configuration for jdbc was correct ,however it worked fine sometime, if is it the jdbc driver version problem? now the version is 9.2.0