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 » SOAPrequest, using failure terminal instaed of fault termina

Post new topic  Reply to topic
 SOAPrequest, using failure terminal instaed of fault termina « View previous topic :: View next topic » 
Author Message
sealpup
PostPosted: Fri Sep 24, 2010 5:36 am    Post subject: SOAPrequest, using failure terminal instaed of fault termina Reply with quote

Apprentice

Joined: 21 Sep 2010
Posts: 26

I have a SOAPrequest node which I am deliberately causing to fail as part of testing. The webservice it calls will fail due to an invalid password.
When I run this through SOAP UI it returns a SOAP fault. Perfect.
When I run the same request through my Msgflow, it goes to the Failure terminal of the SOAPrequest node and throws the exception. This is not the behaviour I expect.

I would expect (and want) the SOAPrequest node to go to the Fault terminal where I can pick up the data from the Webservice.

Can anyone explain why the flow is not going to the fault terminal and how I can get it to do so?

SOAP UI returned fault and flow exception below.

Many thanks.

Code:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sf="urn:fault.partner.soap.sforce.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>sf:INVALID_LOGIN</faultcode>
         <faultstring>INVALID_LOGIN: Invalid username, password, security token; or user locked out.</faultstring>
         <detail>
            <sf:LoginFault xsi:type="sf:LoginFault">
               <sf:exceptionCode>INVALID_LOGIN</sf:exceptionCode>
               <sf:exceptionMessage>Invalid username, password, security token; or user locked out.</sf:exceptionMessage>
            </sf:LoginFault>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>




Code:
RecoverableException   
   File   CHARACTER   F:\build\S610_P\src\WebServices\WSLibrary\ImbSOAPRequestNode.cpp   CHARACTER   
   Line   INTEGER   1116   INTEGER   
   Function   CHARACTER   ImbSOAPRequestNode::requestData   CHARACTER   
   Type   CHARACTER   ImbRequestTemplateNode   CHARACTER   
   Name   CHARACTER   Salesforce#FCMComposite_1_3   CHARACTER   
   Label   CHARACTER   Salesforce.login to salesforce   CHARACTER   
   Catalog   CHARACTER   BIPv610   CHARACTER   
   Severity   INTEGER   3   INTEGER   
   Number   INTEGER   3691   INTEGER   
   Text   CHARACTER   SyncRequest HTTP Error returned   CHARACTER   
   Insert   
      Type   INTEGER   5   INTEGER   
      Text   CHARACTER   HTTP/1.1 400 Bad Request   CHARACTER   
   Insert   
      Type   INTEGER   5   INTEGER   
      Text   CHARACTER   https://test.salesforce.com/services/Soap/u/19.0   CHARACTER   
Back to top
View user's profile Send private message
mgk
PostPosted: Fri Sep 24, 2010 9:02 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

My guess is because the response is a 400 status code, but SOAP Request expects a 500 status code for a valid SOAP Fault...

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
Calvino
PostPosted: Mon Sep 27, 2010 2:55 am    Post subject: Reply with quote

Novice

Joined: 06 Mar 2004
Posts: 19
Location: Scotland

Interesting - so only 5nn (Server) faults get propagated to the fault terminal? That's not what the documentation implies.

Wouldn't it make more sense for all faults to be propagated to the fault terminal so we could then interrogate the fault code and take appropriate action? (Or perhaps that wouldn't make more sense ... I'm new to soap faults). Sounds like the way broker is working you would need to wire up both the failure and fault terminals to the same fault handling code to determine whether you (a) want to throw an exception or (b) send the error back to the consumer.
Back to top
View user's profile Send private message
sealpup
PostPosted: Wed Sep 29, 2010 12:48 am    Post subject: Reply with quote

Apprentice

Joined: 21 Sep 2010
Posts: 26

mgk,
Thanks for your response.
As Calvino notes, this is not the behaviour I would have expected.

It looks like we'll just have to create our own fault handling for faults like this.

Regards,
Kevin.
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 » SOAPrequest, using failure terminal instaed of fault termina
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.