JMS Binding: in/out message

Hi there,
Could anyone help with the following problem I'm facing with?
The problem is, the JMS Binding Component complains about the JMS MapMessage it received from a queue that was sent by an application client. Since the WSDL operation is in/out, according to the log JMS BC thinks
the JMSReplyTo field of the JMS message is not set. However, my application client does set this field.
On open esb, I have a JMS SU that provides request/reply JMS service. The WSDL for it is as follows:
<binding ...>
<jms:binding/>
<operation name="docServiceOperation">
<jms:operation destination="XWPDocQueue" destinationType="Queue" timeToLive="60000" redeliveryHandling="1:1000; 3:5000; 4:move(queue:DeadQueue)"/>
<input>
<jms:message messageType="MapMessage">
<jms:mapmessage>
<jms:mappart name="serviceName" part="serviceName" type="string"/>
</jms:mapmessage>
</jms:message>
</input>
<output>
<jms:message messageType="MapMessage">
<jms:mapmessage>
<jms:mappart name="message" part="message" type="string"/>
</jms:mapmessage>
</jms:message>
</output>
</operation>
</binding>
It's backed up by a BPEL SU.
The service assembly (with BPEL and JMS SU) is correctly deployed.
Now the problem is when the application client sends a MapMessage to the queue DocQueue, the JMS BC throws an erorr which says the JMS message is premature.
The application client code is something like this:
@Resource(mappedName = "jms/ConnectionFactory")
private static ConnectionFactory connectionFactory;
@Resource(mappedName = "XWPDocQueue")
private static Queue queue;
@Resource(mappedName="jms/XWPDocReplyQueue")
private static Queue replyQueue;
* Main method.
* @param args the destination used by the example
* and, optionally, the number of
* messages to send
public static void main(String[] args) {
try {
connection = connectionFactory.createConnection();
Session session = connection.createSession(
false,
Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(dest);
MapMessage message = session.createMapMessage();
for (int i = 0; i < NUM_MSGS; i++) {
System.out.println("replayQueue="+replyQueue);
message.setJMSReplyTo(replyQueue);
message.setString("serviceName", "transformImmediateXBRL");
message.setString("version", "1.0");
message.setString("corelationid", "");
message.setString("env", "DEV");
message.setBoolean("timingReq", false);
message.setString("metadata", FileHelper.loadContent(metatdataFilename));
message.setString("payload", FileHelper.loadContent(payloadFilename));
message.setInt("status", 0);
message.setString("message", "");
message.setString("timingInfo", "");
producer.send(message);
* Send a non-text control message indicating end of
* messages.
producer.send(session.createMessage());
} catch (JMSException e) {
System.err.println("Exception occurred: " + e.toString());
} finally {
if (connection != null) {
try {
connection.close();
} catch (JMSException e) {
The error trace on the server is:
[#|2008-05-27T12:54:22.512+1000|SEVERE|sun-appserver9.1|sun-jms-binding.com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint|_ThreadID=365;_ThreadName=JMSJCA sync #0(XWPDocQueue);_RequestID=ab5b3f47-ebde-48cd-bba9-82d3b0ff41c7;|JMSBC-E0713: Failed to process JMS message [com.stc.jmsjca.core.WMessageIn@1201bbe] in onMessage: JMSBC-E0715: Message exchange pattern for binding operation docServiceOperation is inout; can not send back output reply if no JMSReplyTo field is specified in JMS message with JMSMessageID ID:41-137.172.75.188(be:11:b3:ba:36:f5)-4477-1211856855154
com.sun.jbi.jmsbc.MessageExchangeProcessingException: JMSBC-E0715: Message exchange pattern for binding operation docServiceOperation is inout; can not send back output reply if no JMSReplyTo field is specified in JMS message with JMSMessageID ID:41-137.172.75.188(be:11:b3:ba:36:f5)-4477-1211856855154
at com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint.processInboundRequest(InboundMessageProcessorListenerEndpoint.java:399)
at com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint.onMessage(InboundMessageProcessorListenerEndpoint.java:225)
at com.stc.jmsjca.core.Delivery.deliverToEndpoint(Delivery.java:1105)
at com.stc.jmsjca.core.SyncDelivery$SyncWorker.runOnceStdNoXA(SyncDelivery.java:700)
at com.stc.jmsjca.core.SyncDelivery$SyncWorker.run(SyncDelivery.java:757)
|#]
[#|2008-05-27T12:54:22.606+1000|INFO|sun-appserver9.1|com.stc.jmsjca.core.Delivery|_ThreadID=365;_ThreadName=JMSJCA sync #0(XWPDocQueue);|JMSJCA-E027: Message with msgid=[ID:41-137.172.75.188(be:11:b3:ba:36:f5)-4477-1211856855154] was seen 4 times. It will be forwarded (moved) to queue DeadQueue with msgid [ID:42905-137.172.75.188(eb:2d:3d:71:d4:7d)-4557-1211856862606]|#]
[#|2008-05-27T12:54:22.621+1000|WARNING|sun-appserver9.1|javax.enterprise.system.stream.err|_ThreadID=380;_ThreadName=JMSJCA sync #14(XWPDocQueue);_RequestID=642c7e8b-0fd9-404a-b494-dc8daa956325;|[Fatal Error] :1:1: Premature end of file.
|#]
[#|2008-05-27T12:54:22.621+1000|SEVERE|sun-appserver9.1|sun-jms-binding.com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint|_ThreadID=380;_ThreadName=JMSJCA sync #14(XWPDocQueue);_RequestID=642c7e8b-0fd9-404a-b494-dc8daa956325;|JMSBC-E0713: Failed to process JMS message [com.stc.jmsjca.core.WMapMessageIn@451566] in onMessage: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283)
at com.sun.jbi.jmsbc.XmlUtil.createDocumentFromInputSource(XmlUtil.java:74)
at com.sun.jbi.jmsbc.XmlUtil.createDocumentFromXML(XmlUtil.java:90)
at com.sun.jbi.jmsbc.JMSNormalizer.addPart(JMSNormalizer.java:587)
at com.sun.jbi.jmsbc.JMSNormalizer.buildMessagePayloadFromMapMessage(JMSNormalizer.java:339)
at com.sun.jbi.jmsbc.JMSNormalizer.buildMessagePayload(JMSNormalizer.java:232)
at com.sun.jbi.jmsbc.JMSNormalizer.normalize(JMSNormalizer.java:178)
at com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint.normalizeMessage(InboundMessageProcessorListenerEndpoint.java:691)
at com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint.processInboundRequest(InboundMessageProcessorListenerEndpoint.java:423)
at com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint.onMessage(InboundMessageProcessorListenerEndpoint.java:225)
at com.stc.jmsjca.core.Delivery.deliverToEndpoint(Delivery.java:1105)
at com.stc.jmsjca.core.SyncDelivery$SyncWorker.runOnceStdNoXA(SyncDelivery.java:700)
at com.stc.jmsjca.core.SyncDelivery$SyncWorker.run(SyncDelivery.java:757)
|#]
The JMS BC thinks the JMS message it received does not have a JMSReplyTo field, but my client does set this field to a live queue.
Does anyone know why? Thanks very much.
Skysword
Edited by: Skysword on May 27, 2008 11:59 PM

PicFlix is picture/video messaging. You can try removing that feature

Similar Messages

  • Using SOAP-JMS binding for business process

    Hi all,
    We are currently designing one business process which consume MQ messages. The MQ message body is SOAP XML. SOAP Headers carry business specific important data section, so we don't want to loose these headers at any cost. The message consumer is the Websphere process choreographer business process, reading message as a JMS message. When we develop the business process, we are planning to use SOAP-JMS binding. But problem with SOAP-JMS binding is: when the MDB reads the message off the message queue, it strips off all the SOAP headers and delivers only the SOAP body. Is there a way to make this behaviour change to keep the SOAP headers? You may suggest to use JMS bindings, but JMS binding will send the message body as WSIF message (as a serialized java object). I'm not sure of how easy it is to marshalling/unmarshalling of this serialised object. My main concern is around, how to identify the "type" of the message while marshalling. Would writing our own MDB solve the problem? Again MDB's sends messages as WSIF messages to the business process EJB's, which I guess I get stumble across the same marshal/unmarshall problem. Hope I made myself clear of what i'm going trying to do. Any advice is highly appreciated.
    Regards,
    Prasad

    Hello Markus,
    I just paste my answer form the other forum entry Re: Business process management strategy in SAP?
    in a nutshell BPM Netweaver is focussing on so called edge-processes (usually
    SOA-based and often workflow related). These edge-processes a thought to enhance exisitng core business processes and should provide the fast competitive edge versus competitors. Examples would be also xApps. For this Netweaver provides process modelling tools, where you can get exectuable code through the integration between CE and PI. The monitoring part for these processes is mainly targeting business end-users and business manager.
    Business Process Monitoring with Solution Manager focusses on core business processes which are realized with the "conventional", "old" SAP Architecture, e.g. Order-to-Cash or Procure-to-Pay. You get a combination of technical monitors (average response times of transactions, background job runtimes, monitors for IDOC or qRFC processing) and application related monitors (you get more than 200 pre-configured application monitors out-of-the-box like number of overdue customer orders or outbound deliveries or number of deliveries with goods issue posted but no invoice). The target group here is the support organization of the customer, from Basis-Support over application support on IT side to process owner on business department side.
    Overview presentations can be found under
    https://service.sap.com/bpm --> Media Library --> Customer Information -->
    "Business Process Monitoring - Part 1 & 2".
    Or look under https://www.sdn.sap.com/irj/sdn/nw-processmonitoring
    In the end BPM Netweaver and BPMon SolMan are complementary for different purposes and different target groups.
    Best Regards
    Volker

  • SOAP over JMS binding

    Hi Experts,
    Is it possible to expose as a SOAP over JMS binding webservice from XI (from SAP platform)?
    Regards
    Sara

    I have similar situation.
    R/3->XI->java message server
    XI and message server exchange SOAP envelope using JMS. (SOAP over JMS)
    XI posts SOAP message in queue & in inbound case would pickup SOAP message from JMS queue.
    My question: When using a SOAP adapter, it does work of stripping SOAP envelope/ header? Do we need to handle it in xslt when a message is picked up from external message queue(from message server)? In other words how to handle SOAP message in inbound case?
    Thanks,
    sachin
    PS: Points will be awarded for useful answer

  • I AM A CREATIVE CLOUD MEMBER FOR SOMETIME BUT NOW WHEN I LOGIN WITH THE CORRECT PASSWORD I STILL GET SIGNED OUT MESSAGE AND THEN WHEN TRIED THE SOLUTION GIVEN BY HELP THAT IS TO DELETE OPM.DB FILE OR SECOND SOLUTION INSTALL A FRESH CREATIVE CLOUD FOR DESK

    I AM A CREATIVE CLOUD MEMBER FOR SOMETIME BUT NOW WHEN I LOGIN WITH THE CORRECT PASSWORD I STILL GET SIGNED OUT MESSAGE AND THEN WHEN TRIED THE SOLUTION GIVEN BY HELP THAT IS TO DELETE OPM.DB FILE OR SECOND SOLUTION INSTALL A FRESH CREATIVE CLOUD FOR DESKTOP APP OR EVEN SOLUTION OF RUN OF IMSLIBREPLACER  IM STIILL NOT ABLE TO LOGIN TO MY CREATIVE CLOUD FOR DEKTOP APP . PLEASE HELP ME AS I NEED TO GET IN AND EXPLORE MORE OF MY DOWNLOADED S/W
    I HAVE TRIED ALL POSSIBLE SOLUTION BUT AM AMAZED HOW THIS IS HAPPENING TO ME.
    PLEASE PLEASE HELP ME .Creative Cloud Connection

    Hi Alfred,
    I would like to know the exact error message when you sign in, in the meanwhile please try the following steps assuming its Windows, let me know if its a MAC:
    1) Go to Start button>> Control panel>> Uninstall a program.
    2) Check if you see Browser safeguard there, if yes then uninstall it.
    3) Open Internet explorer>> Tools>> Internet options>> Connections>> Lan Settings>> and it should be like this.
    -Ankit

  • Tried to reinstall OSX Mountain Lion 10.8.4 and every time i start with the installation i get a requested time out message, had to shut down my MacBook Pro retina. Now when i start up it automatically start internet recovery

    tried to reinstall OSX Mountain Lion 10.8.4 and every time i start with the installation i get a requested time out message, had to shut down my MacBook Pro retina. Now when i start up it automatically start internet recovery for two ouers. After the internet recovery the same problem with reinstalling OSX message

    Gave up on the GUI.  This script derived from http://blog.netnerds.net/2012/07/os-x-how-to-setup-nat-on-lion-and-mountain-lion / seems to work for me:
    gwdev=en0 # This is my WiFi connection (has Internet connection)
    targetdev=en1 # This is the USB to Ethernet adapter (to give Internet connection)
    /sbin/ifconfig $targetdev down
    /sbin/ifconfig bridge0 create
    /sbin/ifconfig bridge0 up
    /sbin/ifconfig bridge0 addm $gwdev
    /sbin/ifconfig bridge0 $HOST_ADDR
    /sbin/route add default -interface bridge0 -ifscope bridge0 -cloning
    /usr/sbin/sysctl -w net.inet.ip.forwarding=1
    /sbin/ipfw add 100 divert natd ip from any to any via $gwdev
    /usr/sbin/natd -interface $gwdev -use_sockets -same_ports -unregistered_only -dynamic -clamp_mss -enable_natportmap -natportmap_interface $targetdev

  • File to file with out message mapping and using variable substitution

    Hi,
    Can any one send me a scenario where we can have file to file scenario with out message mapping and where i can use variable substitution.
    As of now i am using integrate configurations where i cant use variable substitution as the message does not reflect in integration engine. I need to populate time stamp between <filename><timestamp>.txt.pgp
    I am as of now using configuration scenario.
    The time stamp always writes before the last file extension.
    Let me know your thoughts?
    Thanks,
    Chandra.

    Hi Chandra,
    u can use the Variable substitution even without IR contents also(Mapping....).
    in the receiver communication channel just specify the path u want to access for a value...
    eg: filename                             payload:mt_name,1,records,1,name,1
    and in th file name give it as %filename%.txt... or vt ever ur requirement
    Babu

  • You've been signed out message

    I keep getting the You've been signed out message in Creative Cloud App. I followed directions and quit the app, reinstalled the app and still get the same message. I have the app on my desktop computer and don't have any problems, I want to install the software on my laptop.

    Try this. It worked for me on Windows 7: http://forums.adobe.com/message/5985810
    Please delete OOBE folder from this location and it should fix the issue.
    Windows:
    C:\Users\abhijiku\AppData\Local\Adobe
    Mac:
    ~/Library/Application Support/Adobe
    Please let me know if it helps.
    Regards,
    Abhijit

  • When I plug my iphone into the computer to restore it I receive a "network connection timed out" message. However, all of our other iphones and ipod touches will connect fine.

    When I plug my iphone into the computer to restore it I receive a "network connection timed out" message.  However, when I plug in other iphones or ipod touches I can connect fine.  Any help would be appreciated.

    Try a powered external USB hub.  It uses a 120V AC wall jack to power USB devices, and the Mac only needs to provide *just enough* to comminucate.  Best Buy, Target, Walmart, ... about $20.

  • I try to redeem an iTunes GC and I get a "Session Has Timed Out" Message. The same thing happens when I try to download a song, after I'm taken to the SLA page

    I try to redeem an iTunes GC and I get a "Session Has Timed Out" Message. The same thing happens when I try to download a song, after I'm taken to the SLA page. I sent Apple Support an email. They told me its software on my computer restricting access to my Internet Connection, but I haven't installed any new software since my last purchase from the iTunes Store. What can I do to fix this?!?! Thanks

    Delete and redownload them if doing so is free in your country.
    (106637)

  • JMS Adapter Supports below message

    Hi Frnds,
    I am working on one scenario i have to read and write RFH2 Message from MQ,we decided to use jms adapter.
    JMS Adapter supports below Message to put in MQ,
    <Data>
         <MQRFH2>
              <usr>
                   <TransactionType>GL_Update</TransactionType>
                   <Environment>LIVE</Environment>
                   <SourceScheme>EANCM</SourceScheme>
                   <SourceApplicationId>5051150003606</SourceApplicationId>
                   <DestScheme>EANCM</DestScheme>
                   <DestinationRouting>5051150003330</DestinationRouting>
                   <OriginalRouting/>
                   <MessageRecordCount>1</MessageRecordCount>
                   <BusinessTransactionId>20090405193001</BusinessTransactionId>
                   <ParentBusTID/>
                   <ParentBusId/>
                   <EECode>Y</EECode>
              </usr>
              <mcd>
                   <Msd>xml</Msd>
              </mcd>
         </MQRFH2>
         <Message>
              <GL_Update>
                   <header>
                        <SourceEAN>5051150003606</SourceEAN>
                        <DestinationEAN>5051150003330</DestinationEAN>
                   </header>
                   <detail>
                        <AuthorisedUser/>
                        <HeaderText/>
                        <HeaderReference/>
                        <PostingItem>
                             <ProfitCentre>7027101000</ProfitCentre>
                             <CostCentre/>
                             <AccountCode>0001413150</AccountCode>
                             <GlobalBusinessIdentifier>AU10</GlobalBusinessIdentifier>
                             <MonetaryAmount>0000000100.00</MonetaryAmount>
                             <GlobalCurrencyCode>AUD</GlobalCurrencyCode>
                             <RunDate>20080725</RunDate>
                             <Description>IV006270M000000000000000000001</Description>
                             <WorkBreakdownStructureElement/>
                             <BudgetRequest/>
                             <TransactionType/>
                             <TransactionNumber/>
                             <PostingKey>50</PostingKey>
                             <SalesTax>
                                  <SalesTaxCode/>
                                  <SalesTaxAmount/>
                             </SalesTax>
                             <PersonnelNumber/>
                             <Assignment/>
                             <CalculateTaxBase/>
                             <BaselineDate/>
                             <PaymentTerms/>
                             <MedicalReference/>
                        </PostingItem>
                        <PostingItem>
                             <ProfitCentre/>
                             <CostCentre/>
                             <SalesTax>
                                  <SalesTaxCode>P3</SalesTaxCode>
                             </SalesTax>
                        </PostingItem>
                        <PostingItem>
                             <ProfitCentre>7022001001</ProfitCentre>
                             <CostCentre/>
                             <AccountCode>0001701001</AccountCode>
                        </PostingItem>
                   </detail>
                   <trailer>
                        <thisDocumentGenerationDateTime>20090405T072928Z</thisDocumentGenerationDateTime>
                        <thisDocumentIdentifier>20090405T072928Z</thisDocumentIdentifier>
                   </trailer>
              </GL_Update>
         </Message>
    </Data>
    please help me on this
    it possible to achieve using JMS adapter or not?? what is the alternative solution ??
    Regards,
    raj

    Hi RSR,
    JMS is the better way to connect sonic MQ.below iam attaching you few points while using JMS.
    1.for the JMS adapter an external driver is needed (java archive)
    2.this archive is provided by the respective provider of the queuing system
    3.the driver has to be deployed via SDM , see XI configuration guide for details
    4.Routing rules and sender has to be specified as for any other channel in the directory
        object model
    5.the message header information is determined from the appropriate sender
       agreement for the communication channel
    6.the communication channel defined must be used in exactly one sender agreement
    7.at least the interface name and the sender service must be qualified in the
        sender agreement ,other fields are optional 
    Depending on the transport protocol selected, specify the following :
    8.For Sonic MQ JMS Provider :
    ·        Java class QueueConnectionFactory
    ·        Java class queue
    ·        IP address or server name
    ·        Server port
    ·        JMS queue
    9.JNDI JMS Provider Lookup
    ·        JNDI name of QueueConnectionFactory
    ·        JNDI name of JMS queue
    ·        Name of JNDI Initial Context Factory
    ·        Address of JNDI server
    ·        JNDI users
    ·        JNDI password with confirmation
    10.
    For WebSphereMQ (MQ Series) JMS Provider
    ·        Java class QueueConnectionFactory
    ·        Java class queue
    ·        IP address or server name
    ·        Queue manager name
    ·        Channel name
    ·        JMS queue
    ·        Character set for non-ASCll names
    ·        Transport/network protocol
    ·        Target client
    11.
    JMS Provider Administered Objects via File
       File name of serialized object QueueConnectionFactory
       File name of serialized object Queue
    With Rgds,
    MF.Haq

  • Java System.out Message on Solaris

    Hi !
    Could somebody tell me, how I can forward all System.out Messages from
    my Java modules (EJB, Servlets) to the Solaris Terminal window?
    Thanks Eddie

    You could do a tail -f on the kjs console log. (Assuming that you only have one KJS).

  • Is there an app for "while you were out" messaging?

    Is there an app for "while you were out" messages?

    Perhaps this link might help. I did a quick Google search for what you were asking for. Forgive me if you've seen this before. Click Here
    I'm not a creative person, so I've never personally tried this.

  • "Authentication Failed" and "Your session has timed out" messages

    Hi All,
    In our implementation, we are using Sun Access Manager 7.0 Patch 6. We noticed that sometimes when we enter invalid credentials, we receive "Authentication Failed" message which we understand is a correct behavior. But sometimes instead of "Authentication Failed", we get "Your session has timed out" message even though we did not go over the module timeout of 2 minutes(i.e. default timeout value in SUN Access Manager).
    Is this a known anomaly? Did anybody else have seen this kind of behavior?
    Thanks,
    Jaya

    I'm having issues too! Help!

  • Request timed out message iTunes ?

    Getting "Request timed out" message when trying to access iTunes store. How can I fix this?

    Hey tonyincary
    If you having an issue with upgrade process for iTunes, try downloading directly from the following page to resolve the issue.
    iTunes Download
    http://www.apple.com/itunes/download/
    Thanks for using Apple Support Communities.
    Regards,
    -Norm G.

  • Timed out message

    im getting a timed out message whenever i install adobe flash player on mozilla 12.0 help!

    Download and the appropriate offline installer(s) from http://helpx.adobe.com/flash-player/kb/installation-problems-flash-player-windows.html#ins tall_in_a_firewall_proxy_server_environment

Maybe you are looking for

  • How do I make full screen button for interactive PDF

    I know in Acrobat I can set the PDF to open in full screen mode. I want the PDF to open in normal view. There will be a full screen button. Click once and the PDF expands to full screen. Click again and the PDF reverts to normal size. I wasn't sure w

  • What's the difference between tax account in FTXP and OB40

    Hi all, There are two tax accounts link to same tax code in FTXP for different company codes, but in OB40 I only can assign one account to tax code. What's the difference between tax account in FTXP and OB40? Thanks in advance. babyyw Edited by: baby

  • 5.5.3 and now difficulties connecting to remote speakers

    Ever since the update to 5.5.3 I am having issues with my two airport express units which are both are set to stream music. It often now takes iTunes quite awhile to connect to the remote speakers.  Not always both.  More often the one that is set up

  • Nancy O, Nithya,Silas- anyone? Help! Javascript errors.

    Hi there, hardworking team! I have this terrible problem ever since I loaded DW CS6 on to my computer. I had heard amazing things about the fluid grid. And I have been searching since Feb 28th, with absolutely no response from any Adobe technical tea

  • How can add a letter to a field in lsmw

    I want to prefix a letter to the field which is being appended from flat file to the R/3. If the field in field in Flat file is 0001 then while it is uploaded if should upload as P001 in LSMW How you can do it?