JMS and SOAP

Hello,
I'm quite new to the Java Distributed Technology, so I'll do my best to make myself clear.
My system consists of a server and several agents on different remote servers (everything coded in Java). The server and my agents communicate using JMS.
My agents need a lot of information from the server in order to start their services. I was wondering if I could represent this information in an XML document and sending it using JMS. I think that SOAP makes me the task easier to interpret on the client the XML document received but I'm not quite sure about this.
If an expert in this area could give me some advices about the things to do in order for this idea to work, it could be nice!
Thank you very much

Yes, I've seen these different articles.
But in my case, I do not use web services.Why not? It sounds like a pretty good fit for what you want to do. You say you want to use SOAP, that's what web services use.
It's just two stand alone applications without user
interfaces that need to exchange data through JMS
(because it needs to be asynchronous). As, sometimes,
I need to send a lot of information, XML seems to be
the answer (as it is possible to send XML files using
JMS). But, in order to go further, why not using SOAP
in order to have interesting methods to create and
interpret these files.Using a technology because it is 'interesting' is generally not a good idea for business.
On the other hand, I do not want to have a web
container (as, again, the web is not my point).
Unfortunatelly, except the fact that I know what I
want, I don't really see how to implement it.I don't underatend why you don't want to use SOAP over JMS. It fits all you requirements. Is there a reason why you don't want to use Web Services?

Similar Messages

  • 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=

  • Xmlrpc and soap, looking for a simple answer to a simple question

    Hello,
    Can someone tell me, are java implementations of web service protocols such as soap and xmlrpc built around servlets (and supporting classes of course) that know how to deal with these specific xml formats? I know there are various libraries for handling these things but on the most basic level it's still using a Servlet as an end point for an http request and then handing out the request to the supporting classes isn't it?
    thanks a bunch
    -seth

    XML-RPC and SOAP were developed outside of Sun, outside of Java. They are uniform international standards of communications developed on top of XML standards to be easily used by applications of different types.
    XML, like Java, is cross-platform, but for applications. XML defines document structure, and because it is an international standard, many people have access to the "format." An application, like Microsoft Word, can read an XML document created by some other Application that is written in XML because both understand XML. Although they can read the document, they may not understand the data. Various other XML technologies enable the application to retrieve another XML document that describes the elements or that defines how the data is to be displayed and/or used. XML Style Sheets and XML Translations are just two such things.
    Not everyone knows the Adobe PDF format, so a program like MS Word is not able to read it, but if it was written in XML, then Word could read the document, get the technology that describes how to handle the data, and then properly display it to the user, allow editing, then save it back into XML format, and then Acrobat could read the edited data and display it correctly as well. Two different applications, one common format.

  • Java and SOAP

    I am trying to use Java and SOAP to call a Coldfusion CFC file. The problem is that I can not figure out how to call the coldfusion function by using a url to direct the SOAP request, within java. The cfc file does sql queries on a separate network so I need to send a string parameter to the function and be able to return one back to the java program.
    I have done a lot of internet research and I can not get it to work out right. My coldfusion is working correctly.

    But the Coldfusion server would still have to present a "service". This could be using web services or it could be something as simple as a small HTTP based page to take the parameters and pass back results. Somehow the Coldfusion server must present a service for this to work.
    Think of a standard HTML page with a form on it. What you're describing is similar to that - you take in parameters (the HTML form) and return results (the result from an HTTP POST). Coldfusion is acting as the web server and your Java client is acting as the browser. Until the Coldfusion server is ready to accept requests (in your case SOAP formatted requests) there is not point worrying about the client side (the Java client in your case).
    Is the Coldfusion server presenting something that can run the CFC file and return the results? Again, it could be a web service or even a REST-like service (like I described above) that your client could talk to.

  • File to SOAP and SOAP to File (Synchronous)

    Hi,
    Can anybody advice me how to do the File to SOAP and SOAP to File with Synchronous call.
    Thanks,
    Naidu.

    Hi,
    Use this blog
    RFC -> XI -> WebService - A Complete Walkthrough (Part 1)
    and create an inbound synchronous interface for soap receiver structure. provide request and response structure in it.
    Thanks!

  • JMS and Java EE 5 Tutorial

    Hello,
    I'm new to JMS and have been following Suns JMS tutorial here....
    [http://java.sun.com/javaee/5/docs/tutorial/doc/bncfa.html#bncfc|http://java.sun.com/javaee/5/docs/tutorial/doc/bncfa.html#bncfc]
    I followed the example for the Producer / SynchConsumer programs.
    I also created my resources using Sun Java Application Server.
    The code example uses annotations only (@Resource) and does not use JNDI lookup.
    My problem is that the annotations only solution, as described in the tutorial,
        @Resource(mappedName = "jms/ConnectionFactory")
        private static ConnectionFactory connectionFactory;
        @Resource(mappedName = "jms/Queue")
        private static Queue queue;
        @Resource(mappedName = "jms/Topic")
        private static Topic topic;give me a NullPointerException error when this code is run...
    connection = connectionFactory.createConnection();I've added JNDI lookup ....
            System.setProperty("java.naming.factory.initial", "com.sun.appserv.naming.S1ASCtxFactory");
         System.setProperty("java.naming.provider.url", "iiop://111.222.333.109:3700");
         InitialContext ic = new InitialContext();
         connectionFactory = (ConnectionFactory)ic.lookup("jms/ConnectionFactory");
         queue = (Queue)ic.lookup("jms/Queue");
         topic = (Topic)ic.lookup("jms/Topic");and it seems to work now....
    Anyone come accross this before?
    What am I missing from the annotations only solution?
    Thanks,
    Jon

    Hi,
    Previously I was trying to run this using Eclipse.
    I tried this using NetBeans IDE and the annotations worked fine.
    Problem solved.
    /Jon

  • Pros and Cons of using REST over JMS (and other technologies)

    Hey all,
    I am working on a project where we were using JMS initially to send messages between servers. Our front end servers have a RESTful API and use JEE6, with EJB 3.1 entity beans connected to a mysql database and so forth. The back end servers are more like "agents" so to speak.. we send some work for them to do, they do it. They are deployed in GlassFish 3.1 as well, but initially I was using JMS to listen to messages. I learned that JMS onMessage() is not threaded, so in order to facilitate handling of potentially hundreds of messages at once, I had to implement my own threading framework. Basically I used the Executor class. I could have used MDBs, but they are a lot more heavyweight than I needed, as the code within the onMessage was not using any of the container services.
    We ran into other issues, such as deploying our app in a distributed architecture in the cloud like EC2 was painful at best. Currently the cloud services we found don't support multi-cast so the nice "discover" feature for clustering JMS and other applications wasn't going to work. For some odd reason there seems to be little info on building out a scalable JEE application in the cloud. Even the EC2 techs, and RackSpace and two others had nobody that understood how to do it.
    So in light of this, plus the data we were sending via JMS was a number of different types that had to all be together in a group to be processed.. I started looking at using REST. Java/Jersey (JAX-RS) is so easy to implement and has thus far had wide industry adoption. The fact that our API is already using it on the front end meant I could re-use some of the representations on the back end servers, while a few had to be modified as our public API was not quite needed in full on the back end. Replacing JMS took about a day or so to put the "onmessage" handler into a REST form on the back end servers. Being able to submit an object (via JAXB) from the front servers to the back servers was much nicer to work with than building up a MapMessage object full of Map objects to contain the variety of data elements we needed to send as a group to our back end servers. Since it goes as XML, I am looking at using gzip as well, which should compress it by about 90% or so, making it use much less bandwidth and thus be faster. I don't know how JMS handles large messages. We were using HornetQ server and client.
    So I am curious what anyone thinks.. especially anyone that is knowledgeable with JMS and may understand REST as well. What benefits do we lose out on via JMS. Mind you, we were using a single queue and not broadcasting messages.. we wanted to make sure that one and only one end server got the message and handled it.
    Thanks..look forward to anyone's thoughts on this.

    851827 wrote:
    Thank you for the reply. One of the main reasons to switch to REST was JMS is strongly tied to Java. While I believe it can work with other message brokers that other platforms/languages can also use, we didn't want to spend more time researching all those paths. REST is very simple, works very well and is easy to implement in almost any language and platform. Our architecture is basically a front end rest API consumed by clients, and the back end servers are more like worker threads. We apply a set of rules, validations, and such on the front end, then send the work to be done to the back end. We could do it all in one server tier, but we also want to allow other 3rd parties to implement the "worker" server pieces in their own domains with their own language/platform of choice. Now, with this model, they simply provide a URL to send some REST calls to, and send some REST calls back to our servers.well, this sounds like this would be one of those requirements which might make jms not a good fit. as ejp mentioned, message brokers usually have bindings in multiple languages, so jms does not necessarily restrict you from using other languages/platforms as the worker nodes. using a REST based api certainly makes that more simple, though.
    As for load balancing, I am not entirely sure how glassfish or JBoss does it. Last time I did anything with scaling, it involved load balancers in front of servers that were session/cookie aware for stateful needs, and could round robin or based on some load factor on each server send requests to appropriate servers in a cluster. If you're saying that JBoss and/or GlassFish no longer need that.. then how is it done? I read up on HornetQ where a request sent to one ip/hornetq server could "discover" other servers in a cluster and balance the load by sending requests to other hornetq servers. I assume this is how the JEE containers are now doing it? The problem with that to me is.. you have one server that is loaded with all incoming traffic and then has to resend it on to other servers in the cluster. With enough load, it seems that the glassfish or jboss server become a load balancer and not doing what they were designed to do.. be a JEE container. I don't recall now if load balancing is in the spec or not..I would think it would not be required to be part of a container though, including session replication and such? Is that part of the spec now?you are confusing many different types of scaling. different layers of the jee stack scale in different ways. you usually scale/load balance at the web layer by putting a load balancer in front of your servers. at the ejb layer, however, you don't necessarily need that. in jboss, the client-side stub for invoking remote ejbs in a cluster will actually include the addresses for all the boxes and do some sort of work distribution itself. so, no given ejb server would be receiving all the incoming load. for jms, again, there are various points of work to consider. you have the message broker itself which is scaled/load balanced in whatever fashion it supports (don't know many details on actual message broker impls). but, for the mdbs themselves, each jee server is pretty independent. each jee server in the cluster will start a pool of mdbs and setup a connection to the relevant queue. then, the incoming messages will be distributed to the various servers and mdbs accordingly. again, no single box will be more loaded than any other.
    load balancing/clustering is not part of the jee "spec", but it is one of the many features that a decent jee server will handle for you. the point of jee was to specify patterns for doing work which, if followed, allow the app server to do all the "hard" parts. some of those features are required (transactions, authentication, etc), and some of those features are not (clustering, load-balancing, other robustness features).
    I still would think dedicated load balancers, whether physical hardware or virtual software running in a cloud/VM setup would be a better solution for handling load to different tiers?like i said, that depends on the tier. makes sense in some situations, not others. (for one thing, load-balancers tend to be http based, so they don't work so well for non-http protocols.)

  • Need to get SOAP request and SOAP response message.

    Hi All,
    I need to know that how can I get the SOAP request and SOAP response message. Now I am using WSDL2Java tool from Axis to generate the stub classes (such as ServiceLocator, SoapBindingStub, and soapPort ) and applying the classes to make the SOAP request. I have seen the solution for getting the SOAP request with Dynamic invocation interface (DII) style (http://mail-archives.apache.org/mod_mbox/ws-soap-user/200310.mbox/%[email protected]%3e), but not Static stub like what I did. Could anyone suggest me how to do it please ( I can't run tcpcom on the linux server, because x-window is not allowed to install ). Thank you for any help in advance.

    You can try writing a client-side handler.
    Handler gets called before the actual request is sent, and you can get the SOAP
    message in it.
    You have to deploy the handler in client-config.wsdd.
    Handler is just like Servlet Filter.
    I think there might be a simpler solution, but I dont know.

  • RFC sender and SOAP receiver data is not posting

    Dear Experts,
    we creating one scenario
    R3-PI-Third party(WSDL).so we are creating  RFC as Sender and SOAP as Receiver.in SXMB_MONI no error.Message monitoring also showing delivered and both payloads also showing.but in thirdparty system data is not posting.third party system is handling messages, but not showing any error also.we call the WSDL using WSNAVIGATOR to post data working fine.
    Thnaks,
    ajai

    Dear Stefan,
    we are getting below message in TCP Gateway.
    POST /AdvancedMeteringInfrastructure-UtilitiesDeviceERPSmartMeterBulkCreateRequest-context-root/UtilitiesDeviceERPSmartMeterBulkCreateRequest_OutPort?wsdl HTTP/1.0Accept: /Host: gts-poc1:50081User-Agent: SAP-Messaging-com.sap.aii.af.sdk.xi/1.0505content-id: <soap-00237D5E14C01DEF9BC72C1A7C0FFCA3(at)sap.com>Content-Type: text/xml; charset=utf-8Content-Length: 1746SOAPACTION: "http://sap.com/xi/IS-U/Global2/UtilitiesDeviceERPSmartMeterBulkCreateRequest_Out"<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'><SOAP:Header/><SOAP:Body><ns1:UtilitiesDeviceERPSmartMeterBulkCreateRequest xmlns:ns1='http://sap.com/xi/SAPGlobal20/Global'><MessageHeader><ID schemeID='Device' schemeAgencyID='www.infotech.com'>4446364533373842</ID><UUID schemeID='Device' schemeAgencyID='www.infotech.com'>DF6E378B-D76E-DDF1-B9A3-0013725B3FAB</UUID><CreationDateTime>2010/06/02 T16:54:17</CreationDateTime><TestDataIndicator>true</TestDataIndicator><ReconciliationIndicator>true</ReconciliationIndicator><SenderBusinessSystemID>SLD_B001</SenderBusinessSystemID><RecipientBusinessSystemID>SLD_B002</RecipientBusinessSystemID></MessageHeader><UtilitiesDeviceERPSmartMeterCreateRequestMessage><MessageHeader><ID schemeID='Device' schemeAgencyID='www.infotech.com' schemeAgencySchemeAgencyID='001'>4446364533373842</ID><UUID schemeID='Device' schemeAgencyID='www.infotech.com'>DF6E378B-D76E-DEF1-B9A3-0013725B3FAB</UUID><CreationDateTime>2010/06/02 T16:54:17</CreationDateTime><TestDataIndicator>true</TestDataIndicator><ReconciliationIndicator>true</ReconciliationIndicator><SenderBusinessSystemID>SLD_B001</SenderBusinessSystemID><RecipientBusinessSystemID>SLD_B001</RecipientBusinessSystemID></MessageHeader><UtilitiesDevice><ID schemeID='DEID' schemeAgencyID='115'>1200000120001556</ID><StartDate>2010.06.02</StartDate><EndDate>9999.12.31</EndDate><SerialID>1200000120001556</SerialID><MaterialID schemeID='MaterialID' schemeAgencyID='MPL_002'>85</MaterialID><ProductUniqueItemID schemeID='Smart Meter' schemeAgencyID='MPL_002'>SM1165HS</ProductUniqueItemID></UtilitiesDevice></UtilitiesDeviceERPSmartMeterCreateRequestMessage></ns1:UtilitiesDeviceERPSmartMeterBulkCreateRequest></SOAP:Body></SOAP:Envelope>
    HTTP/1.1 404 Not Foundconnection: closepragma: no-cachecache-control: no-cacheexpires: 0sap-isc-etag: J2EE//content-type: text/htmlcontent-length: 1571server: SAP NetWeaver Application Server 7.10 / AS Java 7.10date: Wed, 02 Jun 2010 11:24:17 GMT<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head>     <title>Error Report</title><style>td {font-family : Arial, Tahoma, Helvetica, sans-serif; font-size : 14px;}A:link A:visited A:active </style></head><body marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" rightmargin="0"><table width="100%" cellspacing="0" cellpadding="0" border="0" align="left" height="75"><tr bgcolor="#FFFFFF">    <td align="left" colspan="2" height="48"><font face="Arial, Verdana, Helvetica" size="4" color="#666666"><b>  404 &nbsp Not Found</b></font></td></tr><tr bgcolor="#3F73A3">    <td height="23" width="84"><img width=1 height=1 border=0 alt=""></td>    <td height="23"><img width=1 height=1 border=0 alt=""></td>    <td align="right" height="23"><font face="Arial, Verdana, Helvetica" size="2" color="#FFFFFF"><b>SAP NetWeaver Application Server 7.10 / AS Java 7.10 </b></font></td></tr><tr bgcolor="#9DCDFD">    <td height="4" colspan="3"><img width=1 height=1 border=0 alt=""></td></tr></table><br><br><br><br><br><br><p><font face="Arial, Verdana, Helvetica" size="3" color="#000000"><b>  The requested resource does not exist.</b></font></p><p><font face="Arial, Verdana, Helvetica" size="2" color="#000000"><table><tr><td valign="top"><b> Details:</b></td><td valign="top"><PRE>Go to <A HREF="/" target="_parent">main page</A> of this application!</PRE></font></td></tr></table></font></p></body></html>
    Thaks,
    Ajai

  • JMS and JDBC Adapter in PI7.1

    Hi All,
    Kindly tell me about the blogs for JMS and JDBC adapter.
    Please tell me about the Message Types in JMS adapter.
    Thanks in advance.

    Hi Shwetambari,
    Thanks for the reply.
    We need to mention the Adapter Modules while configuring the communiucation channels in JMS
    e.g. Adapter/ConvertJMSMessageToBinary,Adapter/ConvertBinaryToXMBMessage etc.
    So please tell me whether we need to write the cide for the same in JAVA or it is already there ?If it is there then whre can we get it?Do we need to decompile the archeve ?If so, then how to do it?
    Can you give me the Adaqpter Modules for which the code is already there?
    The JMS adapter (Java Message Service) enables you to connect messaging systems to the Integration Engine or the PCK.
    What are the different types of Messaging Systems?Or what is meant by the Messaging System in JMS?
    What are the different types of Messages used?
    Thanks in advance.
    Edited by: Shweta Kullkarni on Sep 4, 2009 5:22 AM

  • Web-services.xml for EJB component and SOAP Message Handler Chain

    I have used the following example for my own web service with EJB component and SOAP
    Message Handler Chain:
    http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
    I have a deployment error:
    javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/DocumentService.j
    ar#DocumentService/home' Resolved: 'app/ejb' Unresolved:'DocumentService.jar#Doc
    umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
    In attachement is the ear file.
    Is there a problem in web-services.xml?
    Thanks
    [ws_dox_sdi.ear]

    It works. Thanks,
    Ioana
    "Neal Yin" <[email protected]> wrote:
    The error means your EJB is not deployed.
    Adding a EJB module to your application.xml file of the ear should fixe
    it.
    <application>
    <display-name />
    <module>
    <web>
    <web-uri>dox_sdi.war</web-uri>
    </web>
    </module>
    <module>
    <ejb>DocumentService.jar</ejb>
    </module>
    </application>
    "Ioana Meissner" <[email protected]> wrote in message
    news:3cf640cc$[email protected]..
    I have used the following example for my own web service with EJBcomponent and SOAP
    Message Handler Chain:
    http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
    I have a deployment error:
    javax.naming.NameNotFoundException: Unable to resolve'app/ejb/DocumentService.j
    ar#DocumentService/home' Resolved: 'app/ejb'Unresolved:'DocumentService.jar#Doc
    umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
    In attachement is the ear file.
    Is there a problem in web-services.xml?
    Thanks

  • Jax-rpc and soap

    I have implemented a web service using jax-rpc and soap however i am unsure how to go about validating my soap package with my own schema before using the web service. How do i use my own schema to validate this, i think it may be with the wsdl file but i am not sure. At present the wsdl file points to a non existing .xsd file which the soap envelope uses, what i need i to replace this with my own schema, or is there a better way to do this than using jax-rpc and soap?
    cheers
    Andy

    I am in the same situation as you are. Got any solution? please let me know.
    Appreciate your valuable reply

  • Java Web Service Access SOP Header and SOAP Body

    Hi
    I am newbie to Web Service. I had a Java class and I converted it to Web Service(LoginWebService has methods login, register).
    Now my client is accessing my web services and calling methods login and register.
    Now I want to add few values in SOAP header in client side.
    My Questions:
    1. How can I access the SOAP headers and SOAP Body in my Server Web Service method implementations?
    2. Is there any API that I have to use?
    3. Does anyone have any sample code for these things?
    Thanks

    Seems like the exception handling logic is not sound - but your posting is difficult to read. Please use the *\* tag to mark and end source code snippets.
    Have a look at the sample code in {message:id=4205205} - does a SOAP call using PL/SQL only.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • What is the best book on XML and SOAP with Java?

    I need to learn xml and soap. Could someone recommend a book or tutorials on the subject. I have just went through teach yourself java in 21 days.
    Thank you
    Noah

    Well using XML is very easy and I can assure you that a simple tutorial can get you on the right track quickly. A quick google search gave me this one, which looks like a good start: [http://totheriver.com/learn/xml/xmltutorial.html|http://totheriver.com/learn/xml/xmltutorial.html]
    As for SOAP, that is a more complex subject. You are looking for JAX-WS (Java API for XML webservices). I suggest checking out amazon.com searching for "java web services". The user reviews should give you a very good idea which book is good and which one stinks.

  • OSB: Soap 1.1 and Soap 1.2

    Hello i am tasked with a wsdl file that contains two port types one with soap 1.1 and the other with soap 1.2
    Now I need both the soap 1.1 and soap 1.2 to be available to the end user
    however in osb when creating the proxy service i am forced to choose either hte soap 1.1 binding or the soap 1.2 binding... will i have to create two separate proxy services for each or is there a way to have it where one proxy service can support both soap types?

    How come a SOAP 1.2 request can go through the whole flow even though the local PS and provider BS I chose the SOAP 1.1 ports?Make your PS_3 as Any XML Service proxy service and the select Local Transport.
    come a SOAP 1.2 request can go through the whole flow even though the local PS and provider BS I chose the SOAP 1.1 ports?Your PS_3 can accept both SOAP1.1 and SOAP1.2 as it's based on Any XML service.
    Regards,
    Abhinav

Maybe you are looking for

  • Question about DBCA generate script o create RAC database 2 node cluster

    Question about creating two node RAC database 11g after installing and configuration 11g clusterware. I've used DBCA to generate script to create a rac database. I've set environment variable ORACLE_SID=RAC and the creating script creates instance of

  • Lockbox Issue with payment on exact day as Cash Discount Days 1 Due Date

    Dear Gurus We are running into an issue in as much as when we receive a payment against our Lockbox on the exact day as the Cash Discount Days 1 due date the system posts this as an on account posting as opposed to applying the cash against the open

  • VPN Connectivity

    Just had Infinity Installed via HH3. Great speed, email no problem, but, connection to my office server from my laptop at home via SSL VPN doesn't work. Do i need to make a setting change in the Hub manager? Anybody else had the same experience?

  • How 2 pass a request from a broswer to remote server via a proxy server

    hi my program is on a proxy server it will be lisenting in port 9876 i have configured in a way that all browsers request pass thro this proxy server so when user request for www.yahoo.com in the browser the resquest is passed 2 this proxy server. so

  • Disappearing menu characters on update installation of Lightroom 1.3.1

    I am running Lightroom on Windows XP pro and have just installed the update software from version 1.2 to 1.3.1. Upon completion of the installation the menu characters for the Library, Develop, Print, Web settings, etc at the top right of the screen