Transforming messages read using jms service

I have a web service that reads a message from jms queue and returns the message as string. This string itself seem to be full xml document, i.e., it has an xml header element and soap:envelope. What should xquery look like if I need to select contents of the embedded soap:body? or should i rather change the jms service and do some xml parsing there (if so, please suggest recommended strategy)?
Here is an example of how $body looks like:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><soap:Header
/><soap:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="ht
tp://www.w3.org/2001/XMLSchema"><ns:Result xmlns:ns="http://example.org"> .....

XQuery:
$body/soap:Body/*
will get you the contents of the soap Body. Don't use the predefined soap-env prefix; it's not a match for the soap-envelope schema referenced in your example. Instead, define a "soap" (or whatever you'd like to call it) prefix with the namespace uri of "http://www.w3.org/2003/05/soap-envelope".
Meghan

Similar Messages

  • Authentication error when using JMS service

    I'm currently trying to send String messages from LiveCycle to Websphere MQ (Both running on the same server), but I'm having some problems...
    I''m quite sure that my WAS setup is correct (or at least close to correct) because I've build some test Java classes that are able to put and get messages from MQ using JMS. However, when I'm usng the LiveCycle JMS service I get the following exception thrown:
    [5/26/10 17:46:44:705 CAT] 00000027 QueueMessageS A com.adobe.livecycle.jms.QueueMessageSender sendMessageToQueueWithProperties Error occurred when creating queue connection. Reason: MQJMS2013: invalid security authentication supplied for MQQueueManager.
    Since I'm not a Websphere fundi I trawled through Google and was able to figure out that the problem probably lies with the configuration of my queue connection factory. Changing the transport type from "Bindings" to "Client" didn't resolve the problem and I'm rapidly running out of good ideas. Hopefully somebody here would be able to help.
    The following info might be useful:
    OS = Windows Server 2003
    I'm using WAS 6.1.0.29
    Websphere MQ is running on the same machine (v6.0)
    I've used the Websphere MQ JMS Provider that comes with WAS
    I've configured a Queue Connection Factory and a Queue in the server scope
    No SSL or anything like that is set up yet
    I did notice that when configuring the Queue there is a section titled "WebSphere MQ Queue Connection Properties" where I am able to specify a user Id and password. However, nothing seemed to work. I tried my WAS administration user name, as well as a windows user who is indeed a member of the mqm group. Also tried it without any value, but no luck
    On the MQ side I couldn't really find any settings under either the Queue Manager or the Channel that would make much of a difference. Since I was able to access the queues using a servlet deployed on the same WAS instance I'm thinking it has something to do with the way that LC call the JMS provider. But to be honest, I don't really have a clue.
    Any help would be much appreciated.
    Greg

    Haven't solved the problem yet, but here's an update:
    I created an "ExecureScript" operation that contains simple Java code to write a message to MQ using the same JMS connection factory and JMS queue. It does work correctly, so clearly my setup it correct enough to send messages from LiveCycle to MQ via JMS.
    Here's the code for the ExecuteScript:
    //import the classes that the script references
    import java.util.List;
    import java.lang.String;
    import java.util.Map;
    import java.util.HashMap;
    import javax.jms.*;
    import javax.naming.*;
    //get a list of file names that are stored in the process variable named files
    String strMessage = patExecContext.getProcessDataStringValue("/process_data/@strMessage");
    //get connection factory
    String strQcf = patExecContext.getProcessDataStringValue("/process_data/@strQcf");
    //get queue
    String strQ = patExecContext.getProcessDataStringValue("/process_data/@strQ");
    try
        // Look up administered objects
        System.out.println("Looking up administered objects...");
        InitialContext initContext;
        initContext = new InitialContext();
        QueueConnectionFactory factory = (QueueConnectionFactory) initContext.lookup(strQcf);
        Queue queue = (Queue) initContext.lookup(strQ);           
        initContext.close();
          // Create JMS objects
          System.out.println("Creating JMS objects...");
          QueueConnection connection = factory.createQueueConnection();
          QueueSession session =    connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
        QueueSender sender = session.createSender(queue);
          //Send messages
          TextMessage message = session.createTextMessage(strMessage);
          sender.send(message);
           //Exit
           System.out.println("Exiting...");
           connection.close();
           System.out.println("Goodbye!");   
    } catch (Exception e)
            e.printStackTrace();
    Interestingly I don't provide any authentication information and yet LC is able to connect to MQ
    Cheers

  • Sending non-SOAP XML message without using JMS

    Hi, I would like to build application to exchange non-SOAP XML message without using JSM. Could you please tell me which Java Technology that can help doing this? Thanks in advance

    to be more specific, could you please tell me any open source jaxm-like that support non-SOAP XML?

  • Trying to log in and message reads: User Profile Service failed the logon. Profile Cannot be loaded

    When I try to log on by clicking my user icon, I'm getting a message that reads:  The User Profile Service service faied the logon.  User Profile cannot be loaded.

    Hi,
    Check the guide on the link below to see if any of the options ( particularly using windows System Restore ) helps.
    http://www.vistax64.com/tutorials/130095-user-profile-service-failed-logon-user-profile-cannot-loade...
    Regards,
    DP-K
    ****Click the White thumb to say thanks****
    ****Please mark Accept As Solution if it solves your problem****
    ****I don't work for HP****
    Microsoft MVP - Windows Experience

  • How to Read Message from JMS Queue using Business Service(ALSB3.0)

    Hi,
     My Project Set up is as follows(using ALSB3.0).
    1>One Proxy Service with transport as HTTP.
    2>The Proxy service is calling another Business Service.
    3>The Business Service has transport layer as JMS.
    So here the business service is posting Request Message into the JMS queue.
    I want at the same time it(The Business Service) should listen to another queue and from there it should read Response Message and forward back to the caller proxy service.
    Can any one help me regarding this...
    Thanks in advance...
    Deba

    Hi ,
    Problem in : Reading / writing messages to the JMS Queue -
    I am stuck with the same problem and I am not able to proceed futher, Can you please help me out in sending an example of how to do right configurations in ALSB and on the server. I read the documentation but still I dont see messages in the queues.
    please help me out. can you post a small sample example
    thanks
    adi

  • How to read the messages in the JMS Queue using JMX

    Hi,
              I want to read messages in the JMS queue using JMX. I was able to read using QueueBrowser but want to modify priority of the messages using JMX.
              I tried to use JMSDestinationRuntimeMBean but it does not allow us to read messages unless we pass the message Id. Is there any way that I can get all the messages in the queue.
              I am using Weblogic 8.1 SP4
              Can someone please help me in this regard.
              Thanks,
              Kiran.
              Edited by KGudipati at 10/22/2007 1:22 AM

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • How to forward message to two different queue using jms proxy service

    Hi all,
    In my project I need to listen to one jms queue then forward the messages to two different queue.
    Now I already made one proxy for listening to the queue then pass it to another queue using business service, It works.
    But how to forward the messages to two different queue in same flow process using one proxy and bs??
    or any other way?
    Really thanks in advance.
    Regards,
    Kahlil

    Hi,
    I have a MQ queue and i created a Proxy to listen to the queue , but i dont see any activity in OSB logs ..how do i knw if OSB proxy is polling that MQ ( mq is the transport protocol that i am using ) .
    Thanks
    Prarthana.

  • Read Object Message using JMS Adapter

    Hi,
    My JMS queue receives an object message.I want to read that object message using JMS adapter.Currently the JMS Adapter payload type is given options to read only 'TextMessage','BytesMessage','MapMessage'.How to read ObjectMesage using this adapter?Please help me on this?

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • Read message synchronously from JMS queue using OSB

    Hi,
    Is it possible to read message from the JMS queue using OSB based on the request invocation. I know messages can be read from the queue but it will be polling based.
    The requirement is to have an OSB proxy service (HTTP service ) an an interface to the client application. Client application invokes the proxy service and the proxy service need to read message from the JMS queue and provide the message as response to the client.
    Let me know if there are any pointers.
    Thanks
    Sandeep

    Hi,
    I spent some time trying to do this and apart from creating custom database tables etc. I was not able to achieve this.
    We wanted to use in memory JMS queues in our situation.
    In the end we developed a Java Web Service which preformed the on-demand read from the queue (using a particular message selector)
    This is working for us without a problem
    Robert

  • How to read Java Object message from JMS Queue using JMS Adapter .

    Dear All,
    In my scenario i have to read a java object message from JMS Queue . I tried by using the JMS Adaper ,but i am not getting any Payload . Can any one tell me is there any special settings for JMS Adapter to read the Java Object message .
    I am able to read the Message successfully thru JMS Adapter but in SXMB_MONI it is not showing any payload .
    I also went in Message monitoring but i am getting this type of message in Sender JMS Adapter  in Audit Log.
    JMS Message ID XXXXX Message Type Null unknown.Payload can not be read and will be empty.
    JMS Message ID XXXXX Payload Empty can not read.
    Please Help.
    Lateef

    Hi,
    As far as i know, JMS Object Messages is not supported by XI JMS adapter.
    you need to have the JMS provider to transform the message to bytes messages.
    (Refer to SAP note 856346)

  • Why do I get an error message when I try to sync my IPAD with ITunes? Message reads Cannot be used because Apple Mobile Device Service has not been started.

    Why do I get an error message when I try to sync my IPAD with ITunes? Message reads Cannot be used because Apple Mobile Device Service has not been started.

    AMDS for Windows
    http://support.apple.com/kb/TS1567

  • Dequeue jms message using business service

    Hi,
    I want to pull back messages from response queue based on correlation id using business service.
    On receiving the message, i want to pass it on to the proxy service.
    How do i achieve this ?
    Thanks.

    OSB : How to use JMS Correlation ID to associate Reqeust with the Response
    Thanks
    Manoj

  • What ESB adapter can pass a message from JMS service to outside service?

    1. we are running ESB from SOA 10.1.3.1 on linux
    2. we have XML message passed to JMS deployed at the local OC4J
    3. we need this XML message passed to an outside service.
    What will be the adapter to use as outbound from JMS?
    TIA

    What is this outside service, if it is a web service then you can use SOAP adapter. just put in the WSDL and away you go.
    Use the JMS adapter for reading the queue and the SOAP adapter for writing to outside service.
    cheers
    James

  • Is Message debatching in OSB using JMS transport possible

    hi
    I have message on JMS queue with multiple message(s) in it.
    Now my requirement is to read this JMS message as multiple internal message(s) from queue using OSB JMS transport.
    Is this possible from OSB JMS transport?
    Thanks in advance.
    -Ramakrishna Gilla

    No.. JMS transport wont automatically do it for you .. You will have to write a jms proxy service and have your logic to do the debatching.. alternatively you can use jms proxy as a pass thru service writing to the file system and then have the JCA file adapter to do the debatching..

  • Message security while using JMS

    Hello,
    In PI7.0 we are using JMS adapter to pull data from another MQ system.
    How can we make this call secure?
    I mean, during data transfer using FTP or HTTP, we can use FTPS or HTTPS. In case of JMS, is there any way in which message security can be provided?
    Many Thanks in advance,
    Chandra

    Hi Chandra,
    The Security Provider Service of the session container then forces authentication against the policy configuration that is configured for JMS X.509 certificate authentication. Otherwise, the anonymous user is configured for J2EE Engine.
    Check the below link:
    http://help.sap.com/saphelp_sm32/helpdata/en/cb/b0ceb823984a62bf017a42179af99a/content.htm
    Thanks,

Maybe you are looking for