|   | 
	 
  
    | 
RSS Feed - WebSphere MQ Support
 | 
RSS Feed - Message Broker Support
 |   
 
  
	     | 
	 | 
   
 
  
	|  SOAPrequest, using failure terminal instaed of fault termina | 
	« View previous topic :: View next topic »  | 
   
  
  	
	  
		
		
		  | Author | 
		  Message
		 |  
		
		  | sealpup | 
		  
		    
			  
				 Posted: Fri Sep 24, 2010 5:36 am    Post subject: SOAPrequest, using failure terminal instaed of fault termina | 
				     | 
			   
			 
		   | 
		 
		
		    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 | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | mgk | 
		  
		    
			  
				 Posted: Fri Sep 24, 2010 9:02 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    Padawan
 
 Joined: 31 Jul 2003 Posts: 1647
  
  | 
		  
		    
			  
				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 | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | Calvino | 
		  
		    
			  
				 Posted: Mon Sep 27, 2010 2:55 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    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 | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | sealpup | 
		  
		    
			  
				 Posted: Wed Sep 29, 2010 12:48 am    Post subject:  | 
				     | 
			   
			 
		   | 
		 
		
		    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 | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | 
		    
		   | 
		 
	   
	 | 
   
 
  
	     | 
	 | 
	Page 1 of 1 | 
   
 
 
 
  
  	
	  
		
		  
 
  | 
		  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
  | 
  		 
	   
	 | 
   
 
  	 | 
	  |