ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » HTTPInput, message exception and re-processing

Post new topic  Reply to topic
 HTTPInput, message exception and re-processing « View previous topic :: View next topic » 
Author Message
fazz
PostPosted: Fri Mar 10, 2006 2:43 am    Post subject: HTTPInput, message exception and re-processing Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

Hi all,

Wonder if anyone can help me out....
I have a flow which receives a message via the HTTPInput node, some processing takes place, if an exception occurs anywhere downstream, the message comes back to the input node, a SOAP error message is sent to the calling app......that all fine, but the flow then reads the message as new from the input and tries to process again.....why would it do this, I want the flow to end at the point of sending a message back, why does it try to re-process?

I have tried numerous designs, i.e wiring up the catch node and handling the error by sending a reply message via the HTTPReply node, but when this completes ok, the message then gets read of the HTTPInput node again.

Any ideas?

Cheers
Simon
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Fri Mar 10, 2006 3:02 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi fazz,

What tool are you using to send the SOAP message ?

If you are saying that the message is resent, then I would think that, the fault message is being resent the second time, right ? or the input message ?

Regards.
Back to top
View user's profile Send private message Send e-mail
fazz
PostPosted: Fri Mar 10, 2006 3:14 am    Post subject: Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

Hello,

The tool is a custom built one, not by me, by an old colleague.

This is an extract from the trace

Code:
2006-03-10 10:26:30.674665     2188   UserTrace   BIP4124I: Message propagated to 'out' terminal of compute node 'WPO11_Routing.Encode SOAP'.
2006-03-10 10:26:40.684204     2188   Error       BIP3120E: Exception condition detected on input node 'WPO11_Routing.HTTP Input'.
                                       The input node 'WPO11_Routing.HTTP Input' detected an error whilst processing a message.  The message flow has been rolled-back and a fault message returned to the requesting client.  Following messages will indicate the cause of this exception.
                                       Check the error messages which follow to determine why the exception was generated, and take action as described by those messages.
2006-03-10 10:26:40.684329     2188   RecoverableException  BIP2230E: Error detected whilst processing a message in node 'WPO11_Routing.HTTP Request'.
                                       The message broker detected an error whilst processing a message in node 'WPO11_Routing.HTTP Request'. An exception has been thrown to cut short the processing of the message.
                                       See the following messages for details of the error.
2006-03-10 10:26:40.684471     2188   RecoverableException  BIP3162S: An error occured whilst performing a Web Service request. The HTTP Request Header bitstream (if any) sent to the server was: 'X'436f6e74656e742d4c656e6774683a203933380d0a436f6e74656e742d547970653a20746578742f786d6c3b20636861727365743d7574662d380d0a486f73743a206c6f63616c686f73740d0a534f4150416374696f6e3a2022220d0a0d0a''. The HTTP Request Messsage Body bitstream (if any) sent to the server was: 'X'3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c736f61703a456e76656c6f706520786d6c6e733a736f61703d22687474703a2f2f736368656d61732e786d6c736f61702e6f72672f736f61702f656e76656c6f70652f2220786d6c6e733a7873693d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d612d696e7374616e63652220786d6c6e733a7873643d22687474703a2f2f7777772e77332e6f72672f323030312f584d4c536368656d61223e3c736f61703a426f64793e3c50726f636573734d657373616765526573706f6e736520786d6c6e733d224d65737361676553657276696365223e266c743b3f786d6c2076657273696f6e3d2671756f743b312e302671756f743b20656e636f64696e673d2671756f743b5554462d382671756f743b3f2667743b0a266c743b4d5757532076657273696f6e3d2671756f743b312e302671756f743b2667743b0a09266c743b5359534844522667743b0a0909266c743b5349442667743b4d5753432e5343553031266c743b2f5349442667743b0a0909266c743b434c49442667743b303138323720373137373333266c743b2f434c49442667743b0a09266c743b2f5359534844522667743b0a09266c743b444154412667743b0a0909266c743b4445502667743b4c4852266c743b2f4445502667743b0a0909266c743b52534e4f2667743b3132333435266c743b2f52534e4f2667743b0a0909266c743b434f4e4e4f2667743b313233343536373839414243444546266c743b2f434f4e4e4f2667743b0a0909266c743b44444154452667743b3230303530313031266c743b2f44444154452667743b0a0909266c743b4454494d452667743b31313a3030266c743b2f4454494d452667743b0a0909266c743b535441542667743b414141266c743b2f535441542667743b0a0909266c743b50444154452667743b3230303430313031266c743b2f50444154452667743b0a0909266c743b524e414d452667743b4e6f6b69612074657374207265636569766572204e616d65266c743b2f524e414d452667743b0a0909266c743b52454d2667743b54657374266c743b2f52454d2667743b0a0909266c743b5049454345532667743b31266c743b2f5049454345532667743b0a09266c743b2f444154412667743b0a266c743b2f4d5757532667743b0a3c2f50726f636573734d657373616765526573706f6e73653e3c2f736f61703a426f64793e3c2f736f61703a456e76656c6f70653e''. The HTTP Reply Header bitstream (if any) received from the server was: ''. The HTTP Reply Message Body bitstream (if any) received from the server was: ''.
                                       Ensure that the HTTP data is valid.
                                       See the following messages for information pertaining to this error.
2006-03-10 10:26:40.686126     2188   RecoverableException  BIP3152S: A Web Service request has detected a Socket error whilst invoking a web service located at host localhost, on port 7080, on path /MessageService.
                                       This may be a transient error, such as a server not responding or it maybe a symptom an invalid hostname and/or port number.
                                       Check that the hostname and port number are valid, and point to a functioning Web Service.
2006-03-10 10:26:40.686241     2188   socketTimeoutException  BIP3151S: A timeout occured whilst performing a TCP/IP socket operation. Operation: ::select(). Error Code: 0. Timeout in seconds: 10. Error Text: The operation completed successfully.
                                       .
                                       This may be a transient error, such as a server is busy or it could be that the server is no longer responding.
                                       See the following messages for information pertaining to this error.
2006-03-10 10:26:41.688865     2188   UserTrace   BIP3122I: Message received and propagated to 'out' terminal of HTTP input node 'WPO11_Routing.HTTP Input'.
2006-03-10 10:26:41.689060     2188   UserTrace   BIP6060I: Parser type 'Properties' created on behalf of node 'WPO11_Routing.HTTP Input' to handle portion of incoming message of length 364 bytes beginning at offset '0'.
2006-03-10 10:26:41.689445     2188   UserTrace   BIP6061I: Parser type 'HTTPInputHeader' created on behalf of node 'WPO11_Routing.HTTP Input' to handle portion of incoming message of length '142' bytes beginning at offset '364'. Parser type selected based on value 'WSINPHDR' from previous parser.
2006-03-10 10:26:41.689666     2188   UserTrace   BIP6061I: Parser type 'XMLNS' created on behalf of node 'WPO11_Routing.HTTP Input' to handle portion of incoming message of length '938' bytes beginning at offset '506'. Parser type selected based on value 'XMLNS' from previous parser.


You can see the exception occurs, message is rolled back to the inptu node and a SOAP fault message is sent back.

But then look at the last bit of the trace, its like it receives a band new message??

Cheers
Simon
Back to top
View user's profile Send private message
fazz
PostPosted: Fri Mar 10, 2006 3:25 am    Post subject: Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

These are the results from a trace node right after the input node....

it shows 2 messages coming in , the only slight difference is the HTTPInput header has a couple less fields in the second message...

Code:
(
  (0x01000000):Properties      = (
    (0x03000000):MessageSet      = ''
    (0x03000000):MessageType     = ''
    (0x03000000):MessageFormat   = ''
    (0x03000000):Encoding        = 546
    (0x03000000):CodedCharSetId  = 1208
    (0x03000000):Transactional   = FALSE
    (0x03000000):Persistence     = FALSE
    (0x03000000):CreationTime    = GMTTIMESTAMP '2006-03-10 11:21:59.406'
    (0x03000000):ExpirationTime  = -1
    (0x03000000):Priority        = 0
    (0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
    (0x03000000):ReplyProtocol   = 'SOAP-HTTP'
    (0x03000000):Topic           = NULL
  )
  (0x01000000):HTTPInputHeader = (
    (0x03000000):X-Original-HTTP-Command = 'POST http://localhost:7080/MessageService HTTP/1.1'
    (0x03000000):User-Agent              = 'Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 1.1.4322.2032)'
    (0x03000000):Content-Type            = 'text/xml; charset=utf-8'
    (0x03000000):SOAPAction              = '""'
    (0x03000000):Content-Length          = '911'
    (0x03000000):Expect                  = '100-continue'
    (0x03000000):Host                    = 'localhost:7080'
  )
  (0x01000010):XMLNS           = (
    (0x05000018):XML                                               = (
      (0x06000011): = '1.0'
      (0x06000012): = 'utf-8'
    )
    (0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Envelope = (
      (0x07000012)xmlns:soap                                     = 'http://schemas.xmlsoap.org/soap/envelope/'
      (0x07000012)xmlns:xsi                                      = 'http://www.w3.org/2001/XMLSchema-instance'
      (0x07000012)xmlns:xsd                                      = 'http://www.w3.org/2001/XMLSchema'
      (0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Body = (
        (0x01000000)MessageService:ProcessMessage = (
          (0x07000012):xmlns = 'MessageService'
          (0x02000000):      = '<?xml version="1.0" encoding="UTF-8"?>
<MWWS version="1.0">
   <SYSHDR>
      <SID>MWSC.SCU01</SID>
      <CLID>01827 717733</CLID>
   </SYSHDR>
   <DATA>
      <DEP>LHR</DEP>
      <RSNO>12345</RSNO>
      <CONNO>123456789ABCDEF</CONNO>
      <DDATE>20050101</DDATE>
      <DTIME>11:00</DTIME>
      <STAT>AAA</STAT>
      <PDATE>20040101</PDATE>
      <RNAME>name</RNAME>
      <REM>Test</REM>
      <PIECES>1</PIECES>
   </DATA>
</MWWS>
'
        )
      )
    )
  )
)
(
  (0x01000000):Properties      = (
    (0x03000000):MessageSet      = ''
    (0x03000000):MessageType     = ''
    (0x03000000):MessageFormat   = ''
    (0x03000000):Encoding        = 546
    (0x03000000):CodedCharSetId  = 1208
    (0x03000000):Transactional   = FALSE
    (0x03000000):Persistence     = FALSE
    (0x03000000):CreationTime    = GMTTIMESTAMP '2006-03-10 11:21:59.406'
    (0x03000000):ExpirationTime  = -1
    (0x03000000):Priority        = 0
    (0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
    (0x03000000):ReplyProtocol   = 'SOAP-HTTP'
    (0x03000000):Topic           = NULL
  )
  (0x01000000):HTTPInputHeader = (
    (0x03000000):X-Original-HTTP-Command = 'POST http://localhost/MessageService HTTP/1.0'
    (0x03000000):Content-Length          = '938'
    (0x03000000):Content-Type            = 'text/xml; charset=utf-8'
    (0x03000000):Host                    = 'localhost'
    (0x03000000):SOAPAction              = '""'
  )
  (0x01000010):XMLNS           = (
    (0x05000018):XML                                               = (
      (0x06000011): = '1.0'
      (0x06000012): = 'UTF-8'
    )
    (0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Envelope = (
      (0x07000012)xmlns:soap                                     = 'http://schemas.xmlsoap.org/soap/envelope/'
      (0x07000012)xmlns:xsi                                      = 'http://www.w3.org/2001/XMLSchema-instance'
      (0x07000012)xmlns:xsd                                      = 'http://www.w3.org/2001/XMLSchema'
      (0x01000000)http://schemas.xmlsoap.org/soap/envelope/:Body = (
        (0x01000000)MessageService:ProcessMessageResponse = (
          (0x07000012):xmlns = 'MessageService'
          (0x02000000):      = '<?xml version="1.0" encoding="UTF-8"?>
<MWWS version="1.0">
   <SYSHDR>
      <SID>MWSC.SCU01</SID>
      <CLID>01827 717733</CLID>
   </SYSHDR>
   <DATA>
      <DEP>LHR</DEP>
      <RSNO>12345</RSNO>
      <CONNO>123456789ABCDEF</CONNO>
      <DDATE>20050101</DDATE>
      <DTIME>11:00</DTIME>
      <STAT>AAA</STAT>
      <PDATE>20040101</PDATE>
      <RNAME>name</RNAME>
      <REM>Test</REM>
      <PIECES>1</PIECES>
   </DATA>
</MWWS>
'
        )
      )
    )
  )
)
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Fri Mar 10, 2006 3:32 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi fazz,

I would suggest you try to run your flow using NetTool or some standard http request tool...

http://www.mqseries.net/phpBB2/viewtopic.php?t=27712&highlight=webservice+host

Make sure whether the problem is with your flow or with the custom application...I have a feeling that the custom application is calling the flow again....

Regards.
Back to top
View user's profile Send private message Send e-mail
fazz
PostPosted: Fri Mar 10, 2006 3:48 am    Post subject: Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

I've downloaded NetTool v3.3.1, but as you said in you other post, I can't find an HTTP send button

How do I get this tool to call my flow with a SOAP message?

Or do I need an older version, if so, were can I get a copy from?

Thanks for your help, think you could be on the right lines...

Simon
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Fri Mar 10, 2006 4:00 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi fazz,

The previous versions are also available there....there will be a link to see the older versions, on the page where u selected the 1.3.3.....I used 1.0.4 or so....that works.

Regards.
Back to top
View user's profile Send private message Send e-mail
mgk
PostPosted: Fri Mar 10, 2006 4:24 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Hi,

The first message is sent in as:
Code:
'POST http://localhost:7080/MessageService HTTP/1.1'


The second message is:
Code:
'POST http://localhost/MessageService HTTP/1.0'


Here is is clear that the second is HTTP 1.0, and so your custom client app is retrying the message, having treated the error as a case where it should fall back from HTTP 1.1 to 1.0. Note many of the other headers are consistent with this as well: E.G. Host has a port in the first case, content length is different etc.


Your app is also using 'proxy' syntax as well for some odd reason, are you using a proxy?

I suggest a better client would help here

Regards,
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
fazz
PostPosted: Fri Mar 10, 2006 5:35 am    Post subject: Reply with quote

Centurion

Joined: 20 Feb 2004
Posts: 144
Location: England

Right, downloaded v 1.04 of Nettool, still getting the same problem.
It does look like its posting twice, once with HTTP 1.0 and once with HTTP 1.1

Could it be the brokers http listener, or does Nettool suffer the same problem as my other utitly?

Nettool does display the response back from the flow reporting an error.

If the flow does not error, and it sends a http reply back, no double post happens, it only happens if an error occurs.

Cheers
Simon
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Fri Mar 10, 2006 5:43 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi fazz,

Explain this.

You are posting once...what is the reply your getting ? Does it show on the NetTool Display...

Is the displayed message being sent again...?

Run the debugger and check the message, also check the settings on the properties of the messages...You could be setting some kind of Request-reply on the outputted message

Regards.
Back to top
View user's profile Send private message Send e-mail
mgk
PostPosted: Fri Mar 10, 2006 5:59 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

According to the error you posted earlier :

Quote:
RecoverableException BIP3152S: A Web Service request has detected a Socket error whilst invoking a web service located at host localhost, on port 7080, on path /MessageService


It appears that you are invoking the same service again from an HTTP request node. Seems odd to me.

Can you post the whole flow design, along with the input message and and reply message / errors you are seeing in netcat.

regards
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » HTTPInput, message exception and re-processing
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.