SOAP - Why not use JMS as the transport layer?

I have been looking at the SOAP standard and can't understand
why something hasn't been done. I wondered if someone could help.
With the current Apache SOAP implementation there is a SOAP
Transport interface which is implemented for SMTP and HTTP. The
format of the messages never changes. Although it is not a
protocol it seems eminently sensible to me that there should be
a JMS implementation. Then infrastructure bridging cold be used
to give a universal message queueing standard.
Being as the current standard supports asynchronous messaging
over SMTP. It seems to be a trivial matter to add to the SOAP
implementation that Oracle supply. Does anyone have any good
reason why it shouldn't be done and is there any reason Oracle
and other standards body members couldn't have implemented it
and agreed it in the standard?

Am I missing something? I wasn't thinking of embedding JMS
messages over HTTP, but using JMS itself. This would provide an
industry standard for message queueing message formats, and
would allow interaction with any message queueing product
through bridges (i.e. OMB, with no real work). Aren't you
talking about something different?

Similar Messages

  • Why to use JMS????

    Hi All,
    i am new to JMS, can any body tell me Why to use JMS??
    i know it used to send message but for why???
    if u answer me with an example it will be useful for me.
    thanks in advance.

    Hi,
    Well one very good reason to use JMS is to keep applications that produce information decoupled from applications that consume information. With this decoupled approach, you can any number of producers and consumers sending and processing information...thus making your solution very scalable.
    If you think of an online ordering system. A user plugs in a bunch of information about a product they wish to order. Once the form is completed, they hit the submit button. Now you can take one of two approaches:
    1. You can have an Enterprise Java Bean ( EJB ) service the order request. That EJB could then communicate with other EJBs within an inventory system to perform a bunch of checks and eventually hand it off to the appropriate system to fulfill the order. From the user's perspective, they are going to have to wait until all of that processing has completed before they can move on. Not a very nice situation. There is a potential that the user could be sitting on their order screen for mintues!!
    2. The other approach is to wrap all of the information supplied on the order form into a JMS message and forward the message to an appropriate Topic or Queue. On the other side of that Topic or Queue an inventory system subscribes for order messages. The nice thing about this approach: as soon as the message is sent off to the Topic or Queue, the user regains control of the screen and can continue browsing. Another benefit, you can have multiple consumers processing orders.
    I apologize for the length of the response. These are only two benefits of using a Messaging-based approach....there are many, many more.
    Regards,
    J.

  • I am not able to execute the transport.send(message)

    I am not able to execute the transport.send(message) when trying for sending mail. I am getting error like this : -
    javax.mail.SendFailedException: Sending failed;  nested exception is: javax.mail.MessagingException: Could not connect to SMTP host: 10.175.80.50, port: 25;  nested exception is: java.net.ConnectException: Connection timed out: connect
    Please help me on this to resolve this issue asap. thanks

    Hi Vinod,
    public void SendMail( )
        //@@begin SendMail()
              // Specify the host name of the mail server
              String host ="----
              IWDMessageManager messageMgr = wdControllerAPI.getComponent().getMessageManager();
              // Initialize Session
              Properties props = System.getProperties();
              props.put("mail.smtp.host", host);
              props.put("mail.smtp.auth", "true");
              Authenticator auth = new Auth();
              Session session = Session.getInstance(props, auth);
              // Create new MimeMessage
              MimeMessage message = new MimeMessage(session);          
              try
                    // Set the From Address
                    String from = wdContext.currentContextElement().getCtx_From();
                   message.setFrom(new InternetAddress(from));
                   //  Set the To Address
                   String to = wdContext.currentContextElement().getCtx_To();     
                   Address ar[] = new Address[1];
                   ar[0] = new InternetAddress(to);
                   message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
                   // Set the Subject
                   message.setSubject(wdContext.currentContextElement().getCtx_Subject());
                   //  Set the Text               
                   message.setText(wdContext.currentContextElement().getCtx_Text());            
                   Transport tr = session.getTransport("smtp");
                   tr.connect("Put again here Host Name", Port Noumber, "userid", "password");               
                   tr.sendMessage(message, ar);
              }catch (AuthenticationFailedException e){
                   messageMgr.reportException(e.toString(),false);
              }catch (AddressException e)     {
                   messageMgr.reportException(e.toString(),false);
              } catch (MessagingException e) {
                   messageMgr.reportException(e.toString(),false);
              }catch (Exception e){
                   messageMgr.reportException(e.toString(),false);
        //@@end
    And also create the class Auth() like
    public class Auth extends Authenticator {
         public PasswordAuthentication getPasswordAuthentication()
              String username = "userID";
              String password = "Passwod";     
              return new PasswordAuthentication(username,password);     
    Please check it i think i will work. Also please use constant value for the to, from, subject and text.

  • BPEL Interaction Pattern - Using JMS as the medium

    Objective : Make one MAIN Business Process out of BPEL that would receive the Message from Userinput or some other source and finally after doing all operations inside BPEL process (that would happen using BPEL Sub processes that exchange data using JMS send and receive inside the different queues ). Finally the MAIN Business Process would receive the response from BPEL sub process send it to Database at the end. We would like to develop a single BPEL process that would represent a Business Process say like Order Create and internally we would invoke various Sub BPEL process to work on the payload and give a handshake using JMS as the medium rather than another BPEL process makes a direct handshake to the invoking/calling process.
    Steps Attempted :
    a) BPEL Process receives the message from Input (User input of Purchase Order) and do some transformation later publish the message to Queue by configuring JMS Adapter to Produce it. Next step inside the same BPEL process tries to receive it using the JMS Adapter to consume it. It keeps waiting forever without consuming the message
    b) BPEL Process (A) receives the message from (User input of Purchase Order) and do some transformation later send the message to another BPEL Process (B) that would receive the input message. BPEL Process B writes into the Queue using JMS Adapter. In this case also BPEL Process (A) configured to receive the message from the QUEUE where the BPEL PRocess B has sent. BPEL Process A waits for the message to arrive for ever.
    Some behaviours we noticed ,
    1) Queue messages are being dequeued (JMX Browser in OEM shows no messages). But BPEL console shows the BPEL Process A is waiting for it to arrive. I believe it is consuming the message but unable to kickoff from receive (JMS activity) activity configured in the BPEL.
    2) We ensured that no other BPEL Process is consuming by creating a new Queue by name DemoQueue4 that would be used by the BPELProcess A and BPEL Process B.
    3) BPEL Process A and BPEL Process B are ASYNCHRONOUS Process. BPEL Process B receives the input and writes into the Queue does not call back to BPEL Process A. BPEL Process A would listen to the Queue to receive it inside the BPEL Process A.
    Am I trying something architecturally not possible ?
    Thanks
    Nags.
    Message was edited by:
    cdmnagaraj

    You can register any compliant JMS provider as a foreign jms provider in weblogic and then can access the JMS administered objects (destination and connection factory) from the local weblogic JNDI tree.
    This blog shows how to configure AQJMS as a foreign JMS provider and then configure JMS adapter to access the jms objects.
    http://biemond.blogspot.com/2009/07/using-aq-jms-text-message-in-wls-1031.html
    You can use the above link as a reference on how to setup. You will have to modify the Initial Context Factory, Provider URL, JNDI Properties, foregin connection factories and foreign detsinations section to suit activeMQ.
    Note: Weblogic does not come inbuild with the required jars to connect to ActiveMQ unlike AQJMS, so you need to ensure that the active mq jms client jars are available in the weblogic's classpath.

  • Why not use notifyall

    now I'm reading this book "Java Threads 2nd edition" by Scott Oaks and Henry Wong. Writer provide a class called BusyFlag to simulate the mutex.
    I wonder why not use notifyall() to replay notify().
    public class BusyFlag {
         protected Thread busyflag = null;
         protected int busycount = 0;
         public synchronized void getBusyFlag() {
              while (tryGetBusyFlag() == false) {
                   try {
                        wait();
                   } catch (Exception e) {
         public synchronized boolean tryGetBusyFlag() {
              if (busyflag == null) {
                   busyflag = Thread.currentThread();
                   busycount = 1;
                   return true;
              if (busyflag == Thread.currentThread()) {
                   busycount++;
                   return true;
              return false;
         public synchronized void freeBusyFlag() {
              if (getBusyFlagOwner() == Thread.currentThread()) {
                   busycount--;
                   if (busycount == 0) {
                        busyflag = null;
                        *notify();*
         public synchronized Thread getBusyFlagOwner() {
              return busyflag;
    }

    naficbm wrote:
    now I'm reading this book "Java Threads 2nd edition" by Scott Oaks and Henry Wong. Writer provide a class called BusyFlag to simulate the mutex.
    I wonder why not use notifyall() to replay notify().Looks like it should work with notifyall as well.

  • Why not use "new" operator  with strings

    why we not use new when declaring a String .because in java String are treated as objects. we use new operator for creating an object in java .
    and same problem wiht array when we declare array as well as initialize .here we are alse not using new for array
    why

    Strings aren't just treated as objects, Strings are Objects.
    As for why not using new for Strings, you can, if you want.:
    String str = "this is a string";
    and
    String str = new String("this is a string");
    do the same thing (nitty-gritty low level details about literals aside). Use whatever you like, but isn't it simpler not to type new String(...) since you still need to type the actual string?
    As for arrays, you can use new:
    int[] ints = new int[10];
    or
    int[] ints = { 0, 1, 2, 3, ..., 9 };
    But the difference here is you are creating an empty array in the first one, the second creates and fills the array with the specified values. But which to you often depends on what you are doing.

  • Why not use paper label on finished DVD project?

    I also use printed paper labels for my DVD covers
    why not use them?
    please advise?

    Hi
    The DVD get's unbalanced = Laser can't read track
    DVD are several times more sencitive than CD (not advicable to put lables on them either)
    And DVDs/CDs that are unbalanced also give more strain to the player mechanism
    that eventually stops working.
    Yours Bengt W

  • Why not use interfaces for constants?

    Hi,
    I have been getting conflicting views about why not use interfaces for constants?
    Can anyone shed some light on it?
    Piyush

    How so?
    If the constants are only used in a single classhow
    does it help to put them in a separate structute?
    (Ignoring the a type safe enumeration of course.)Well, mainly for readability. Suppose that you have a
    web application which has a servlet class
    "RedirectServlet", which takes a variable to redirect
    to a given JSP file. In the JSP files, you want to
    create forms which take this servlet as their action.
    You could of course put all these "redirect"
    constants in the RedirectServlet itself, but then
    it's kind of weird that you have to import a
    servlet in your jsp file to include these constants
    and to be able to write
    <form action="servlet/RedirectServlet?key=<%=
    RedirectServlet.HOMEPAGE %>> or so.
    Instead, you could create an interface called
    "RedirectConstants", and then your servlet
    RedirectServlet could implement this interface. Then
    your JSP can also access these constants via this
    interface.
    But then again, this is merely a matter of style, I
    fully agree that there is never a real _need_ to put
    constants in a separate structure if they're only used
    in a single class.Are you claiming that your example above is a single class?

  • One of my friend stole my iphone 5 and he knows my password for the phone but he's not using wifi or the sim network cause he knows that I enabled find my iphone and I wanna lock it or burn the phone he is using my pictures

    one of my friend stole my iphone 5 and he knows my password for the phone but he's not using wifi or the sim network cause he knows that I enabled find my iphone and I wanna lock it or burn the phone he is using my pictures and he has shared most of my pictures and the find my phone says it will erase the phone once it will be contact to the internet
    what about if he didn't? what to do pls I need to lock the phone as soon as possible am living in saudi arabia and we dont have apple store here to support me I need to contact anyone in apple store so I can give him the serial numbere and IMEI so they lock the phone with out waiting him to contact to the internet
    I made a report but the problem is it was stolen from of my best friends and I dont know which one we were 4 persons in my house so I dont know which one exactly but it seems I was unlucky to chose them as best friends and trusted them for 2 years and now he's shairing my privte pictures which has dameged my life and if the goverment saw my pictures they will but me in jail for those pictures which is noraml gay pictures but our country difficutl pls any one help me

    What To Do If Your iDevice Is Lost Or Stolen
    If you activated Find My Phone before it was lost or stolen, you can track it only if Wi-Fi is enabled on the device. What you cannot do is track your device using a serial number or other identifying number. You cannot expect Apple or anyone else to find your device for you. You cannot recover your loss unless you insure your device for such loss. It is not covered by your warranty.
    If your iPhone, iPod, iPod Touch, or iPad is lost or stolen what do you do? There are things you should have done in advance - before you lost it or it was stolen - and some things to do after the fact. Here are some suggestions:
    This link, Re: Help! I misplaced / lost my iPhone 5 today morning in delta Chelsea hotel downtown an I am not able to track it. Please help!, has some good advice regarding your options when your iDevice is lost or stolen.
      1. Reporting a lost or stolen Apple product
      2. Find my lost iPod Touch
      3. AT&T. Sprint, and Verizon can block stolen phones/tablets
      4. What-To-Do-When-Iphone-Is-Stolen
      5. What to do if your iOS device is lost or stolen
      6. 6 Ways to Track and Recover Your Lost/Stolen iPhone
      7. Find My iPhone
      8. Report Stolen iPad | Stolen Lost Found Online
    It pays to be proactive by following the advice on using Find My Phone before you lose your device:
      1. Find My iPhone
      2. Setup your iDevice on iCloud
      3. OS X Lion/Mountain Lion- About Find My Mac
      4. How To Set Up Free Find Your iPhone (Even on Unsupported Devices)

  • HT201365 I just updated to ios 7 on my iPhone 4 how do you turn the apps off when your not using them? The old way of double clicking and then pressing the app until a red minus button comes doesn't work it opens it back up!?

    I just updated to ios 7 on my iPhone 4 how do you turn the apps off when your not using them? The old way of double clicking and then pressing the app until a red minus button comes doesn't work it opens it back up!?

    Double click home button, then swipe up on app picture (not the icon itself)

  • My iPhone 5s was bought with full price in the USA from Sprint, and I was told that it is a global phone. And I can use it in china. But I can not use it in the USA, so could you mind help me to solve that problem.  I think someone of you must help me to

    My iPhone 5s was bought with full price in the USA from Sprint, and I was told that it is a global phone. And I can use it in china.
    But I can not use it in the USA, so could you mind help me to solve that problem.
    I think someone of you must help me to solve this problem !
    Details:
    SN:F2*****FDR
    <Edited by Host>

    See the response in your other thread:
    https://discussions.apple.com/message/24641427#24641427

  • HT4993 My iPhone 5s was bought with full price in the USA from Sprint, and I was told that it is a global phone. And I can use it in china. But I can not use it in the USA, so could you mind help me to solve that problem.  I think someone of you must help

    My iPhone 5s was bought with full price in the USA from Sprint, and I was told that it is a global phone. And I can use it in china.
    But I can not use it in the USA, so could you mind help me to solve that problem.
    I think someone of you must help me to solve this problem !
    Details:
    <Edited by Host>

    xinyi93 wrote:
    My iPhone 5s was bought with full price in the USA from Sprint, and I was told that it is a global phone. And I can use it in china.
    But I can not use it in the USA, so could you mind help me to solve that problem.
    Yes, the iPhone 5S is a global phone. However, Sprint will only unlock phones for use on GSM networks outside of the U.S. In the U.S., that phone can only be used on Sprint's network.

  • Why not Chinese supported in the JHS 10.1.3  internationalization?

    why not add chinese in the supported locales.

    hi all,
    i am facing follwing issue while applying this patch.
    i followed these steps
    1) > perl changeNamesWindows.pl home
    -it works fine
    2) > opatch apply
    While running this i got following message.
    Oracle Home : C:\product\10.1.3.1\OracleAS_Prod
    Oracle Home Inventory : C:\product\10.1.3.1\OracleAS_Prod\inventory
    Central Inventory : C:\Program Files\oracle\inventory
    from : N/A
    OUI location : C:\product\10.1.3.1\OracleAS_Prod\oui
    OUI shared library : C:\product\10.1.3.1\OracleAS_Prod\oui\lib\win32\oraInsta
    ller.dll
    Java location : "C:\product\10.1.3.1\OracleAS_Prod\jdk\jre\bin\java.exe"
    Log file location : C:\product\10.1.3.1\OracleAS_Prod/.patch_storage/<patch
    ID>/*.log
    Creating log file "C:\product\10.1.3.1\oracleas_prod\.patch_storage\5659094\Appl
    y_5659094_02-01-2007_13-55-49.log"
    Backing up comps.xml ...
    unbundling the rar file.
    OPatch detected non-cluster Oracle Home from the inventory and will patch the lo
    cal system only.
    Please shut down Oracle instances running out of this ORACLE_HOME
    (Oracle Home = c:\product\10.1.3.1\oracleas_prod)
    Is this system ready for updating?
    Please respond Y|N >
    y
    Executing the Apply pre-patch script (C:\Documents and Settings\277717\Desktop\A
    BHI\5659094\custom\scripts\pre.bat)...
    'C:\Documents' is not recognized as an internal or external command,
    operable program or batch file.
    The pre patch script returned an error.
    Do you want to STOP?
    Please respond Y|N >
    Is not this a major bug.? i mean in many cases u have to access database objects
    & have to assign outputvalues to some other BPEL variables.
    Anybody Plz help me out..?
    /Mishit

  • "Actvation Required" appears on screen.Touch screen disabled.Resetting is not useful.Was in the hands of my 5yr old grandson.What to do?

    "Actvation Required" appears on screen.Touch screen disabled.Resetting is not useful.Was in the hands of my 5yr old grandson.What to do?

    Place the iPod in Recovery mode and connect to your computer and restore via iTunes.
    For how to restore see:
    iTunes: Backing up, updating, and restoring iOS software

  • None of my files will upload to the cloud even though I have not used any of the 5 GB storage.

    None of my files will upload to the cloud even though I have not used any of the 5 GB storage. I checked the boxes, but nothing uploads. What am I doing wrong?

    dmastern wrote:
    OK. I thought my Mac contacts, documents, etc would be stored since I clicked on those boxes. Maybe I need to go back to Carbonite.
    Carbonite, Dropbox, Sugar Sync, there are many options.

Maybe you are looking for

  • BAPI_BILLINGDOC_CREATEMULTIPLE | Result unexpected while automation.

    Hi Gurus, I have created an automation of VF01/02 and create invoice for customer billing. I have created the sales order with reference (VA02) and saved it. Here is my code. *&      Form  GET_SALESORD *       text *  -->  p1        text *  <--  p2  

  • AD RMS 2008R2 - Export not getting disabled

    Hi, We've setup AD RMS in our environment. We use Office 2010 as IRM clients. Everything is working fine apart from one thing.  I need to give users permission to edit and save and excel document but not Save As. I created a template for this and whe

  • Bits (bitvector) Attributes on integer...

    Well... i wish to have certain attributes in an object (integer). I want to be able to easily do: setbit(blabla) removebit(blabla) isset(bblabla) A "flag" could have for example FLAG0 = (1 << 0) Flag10 = (1 << 10) Then do setbit(FLAG0) on the object

  • Oracle 9i Agent Startup

    Hi, I have Oracle 9i Rel.2 installed on Windows Advanced Server machine. When I try to start Oracle Agent, it gives the following error "Could not start OracleOraHOme901Agent Service on local computer. The service didn't return an error. This could b

  • JSF project migration issue in jdeveloper R1

    Dear Experts, We are trying to migrate an existing JSF project into JDeveloper 11g R1. We are having some compilation errors which we are trying to resolve. The doubt we have is that out project used jsf-api.jar and jsf-impl.jar however when I select