<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Return soap response after onComponentError on tESBConsumer and fault in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297937#M70457</link>
    <description>For the second question there is a solution (perhaps not the best , and really very complicated for something that should be simple to perform normally if soap Fault were well manage ... ) 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt;tFlowIterate set in global memory the different elements of the fault structure generated by tESBConsumer. 
&lt;BR /&gt; 
&lt;BR /&gt;tFixedFlowInput get in String the content of faultDetail. 
&lt;BR /&gt; 
&lt;BR /&gt;tReplace delete XML header of this content ("&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;"). 
&lt;BR /&gt; 
&lt;BR /&gt;tSetGlobalVar set in global memory in String the content of detail with add XML tags &amp;lt;soap: Detail&amp;gt; et &amp;lt;:soap: Detail&amp;gt;. 
&lt;BR /&gt; 
&lt;BR /&gt;Second tFixedFlowInput get from global memory other Fault informations (code, reason (= faultString), node, rôle) in 4 String. 
&lt;BR /&gt; 
&lt;BR /&gt;tXMLMap set this values in new soap fault message (structure was created by hand : create sub element on payload Document, add loop on soap:Fault, add namespace &amp;nbsp;with prefix soap, add attribut xml:lang). the attribut lang is set with «&amp;nbsp;fr&amp;nbsp;» because not give by fault structure generated by tESBConsumer. The values (code, reason, node, rôle) are mapping on this message. 
&lt;BR /&gt; 
&lt;BR /&gt;tConvertType transform Document to String. 
&lt;BR /&gt; 
&lt;BR /&gt;Second tReplace replace in the String tags soap: Detail empty with the String set in global memory by tSetGlobalVar. For the soap:Code we are replacing&amp;nbsp; "{}" by «&amp;nbsp;soap&amp;nbsp;:&amp;nbsp;» to be identical to the original soapFault catch by tESBConsumer. 
&lt;BR /&gt; 
&lt;BR /&gt;Second tConvertType transform String to Document. 
&lt;BR /&gt; 
&lt;BR /&gt;Finaly Document is send by tESBProviderResponse. 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MFRt.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/139633i9F6EC9E803F9B4F3/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MFRt.png" alt="0683p000009MFRt.png" /&gt;&lt;/span&gt;</description>
    <pubDate>Wed, 06 Jul 2016 09:36:15 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2016-07-06T09:36:15Z</dc:date>
    <item>
      <title>Return soap response after onComponentError on tESBConsumer and fault</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297935#M70455</link>
      <description>Hi, 
&lt;BR /&gt; 
&lt;BR /&gt;I need HELP ! 
&lt;BR /&gt; 
&lt;BR /&gt;This is my job : 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;A href="https://community.talend.com/legacyfs/online/364386/Screenshot-from-2016-07-01-101937.png" target="_blank"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MFU7.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/141373iCF3AAC4910E42313/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MFU7.png" alt="0683p000009MFU7.png" /&gt;&lt;/span&gt; &lt;/A&gt; 
&lt;BR /&gt; 
&lt;BR /&gt;After the onComponentError of the tESBConsumer I want to return a custom response but I don't know how to do that !!! 
&lt;BR /&gt; 
&lt;BR /&gt;Thanks for your help ! 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt;Another question : it's possible to return a complete fault response like this ? =&amp;gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;PRE&gt;&amp;lt;soap:Envelope xmlns:soap=""&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;lt;soap:Body&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soap:Fault&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soap:Code&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soap:Value&amp;gt;soap:Sender&amp;lt;/soap:Value&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soap:Code&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soap:Reason&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!--1 or more repetitions:--&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soap:Text xml:lang="fr"&amp;gt;3&amp;lt;/soap:Text&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soap:Reason&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--Optional:--&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soap:Node&amp;gt;4&amp;lt;/soap:Node&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--Optional:--&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soap:Role&amp;gt;5&amp;lt;/soap:Role&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!--Optional:--&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soap:Detail&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;!--You may enter ANY elements at this point--&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;custum&amp;gt;myTest&amp;lt;/custum&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soap:Detail&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/soap:Fault&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;lt;/soap:Body&amp;gt;&lt;BR /&gt;&amp;lt;/soap:Envelope&amp;gt;&lt;/PRE&gt; 
&lt;BR /&gt;Because actually I receive response like this : 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;PRE&gt;&amp;lt;soap:Envelope xmlns:soap=""&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;lt;soap:Body&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soap:Fault&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soap:Code&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soap:Value&amp;gt;soap:Receiver&amp;lt;/soap:Value&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soap:Subcode&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soap:Value xmlns:ns1=""&amp;gt;ns1:businessFault&amp;lt;/soap:Value&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/soap:Subcode&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soap:Code&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;soap:Reason&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;soap:Text xml:lang="en"&amp;gt;[tESBProviderFault_1]&amp;lt;/soap:Text&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/soap:Reason&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/soap:Fault&amp;gt;&lt;BR /&gt; &amp;nbsp; &amp;lt;/soap:Body&amp;gt;&lt;BR /&gt;&amp;lt;/soap:Envelope&amp;gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 16 Nov 2024 10:32:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297935#M70455</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T10:32:16Z</dc:date>
    </item>
    <item>
      <title>Re: Return soap response after onComponentError on tESBConsumer and fault</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297936#M70456</link>
      <description>I think it's work with this solution but maybe there is a better solution ... ?
&lt;BR /&gt;the tLogCatcher catch tDie only, the tXMLMap create value for response ...
&lt;BR /&gt;
&lt;BR /&gt;
&lt;A href="https://community.talend.com/legacyfs/online/364386/Screenshot-from-2016-07-01-123415.png" target="_blank"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MFUC.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/137795i960386A96BD08B9F/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MFUC.png" alt="0683p000009MFUC.png" /&gt;&lt;/span&gt; &lt;/A&gt;
&lt;BR /&gt;
&lt;BR /&gt;There is always my second question too ...</description>
      <pubDate>Fri, 01 Jul 2016 11:36:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297936#M70456</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-07-01T11:36:09Z</dc:date>
    </item>
    <item>
      <title>Re: Return soap response after onComponentError on tESBConsumer and fault</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297937#M70457</link>
      <description>For the second question there is a solution (perhaps not the best , and really very complicated for something that should be simple to perform normally if soap Fault were well manage ... ) 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt;tFlowIterate set in global memory the different elements of the fault structure generated by tESBConsumer. 
&lt;BR /&gt; 
&lt;BR /&gt;tFixedFlowInput get in String the content of faultDetail. 
&lt;BR /&gt; 
&lt;BR /&gt;tReplace delete XML header of this content ("&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;"). 
&lt;BR /&gt; 
&lt;BR /&gt;tSetGlobalVar set in global memory in String the content of detail with add XML tags &amp;lt;soap: Detail&amp;gt; et &amp;lt;:soap: Detail&amp;gt;. 
&lt;BR /&gt; 
&lt;BR /&gt;Second tFixedFlowInput get from global memory other Fault informations (code, reason (= faultString), node, rôle) in 4 String. 
&lt;BR /&gt; 
&lt;BR /&gt;tXMLMap set this values in new soap fault message (structure was created by hand : create sub element on payload Document, add loop on soap:Fault, add namespace &amp;nbsp;with prefix soap, add attribut xml:lang). the attribut lang is set with «&amp;nbsp;fr&amp;nbsp;» because not give by fault structure generated by tESBConsumer. The values (code, reason, node, rôle) are mapping on this message. 
&lt;BR /&gt; 
&lt;BR /&gt;tConvertType transform Document to String. 
&lt;BR /&gt; 
&lt;BR /&gt;Second tReplace replace in the String tags soap: Detail empty with the String set in global memory by tSetGlobalVar. For the soap:Code we are replacing&amp;nbsp; "{}" by «&amp;nbsp;soap&amp;nbsp;:&amp;nbsp;» to be identical to the original soapFault catch by tESBConsumer. 
&lt;BR /&gt; 
&lt;BR /&gt;Second tConvertType transform String to Document. 
&lt;BR /&gt; 
&lt;BR /&gt;Finaly Document is send by tESBProviderResponse. 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;BR /&gt; 
&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MFRt.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/139633i9F6EC9E803F9B4F3/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MFRt.png" alt="0683p000009MFRt.png" /&gt;&lt;/span&gt;</description>
      <pubDate>Wed, 06 Jul 2016 09:36:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297937#M70457</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-07-06T09:36:15Z</dc:date>
    </item>
    <item>
      <title>Re: Return soap response after onComponentError on tESBConsumer and fault</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297938#M70458</link>
      <description>&lt;I&gt;&lt;B&gt;tESBProviderFault&lt;/B&gt;&lt;/I&gt; component has payload input field (XML document type) and in case value will be provided here it will be set as content of &lt;B&gt;&amp;lt;soap: Detail&amp;gt;&lt;/B&gt;.&lt;BR /&gt;so for your case the value should be following XML document:&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;&amp;lt;custum&amp;gt;myTest&amp;lt;/custum&amp;gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;and for &lt;B&gt;&amp;lt;soap:Node&amp;gt;&lt;/B&gt; &amp;amp; &lt;B&gt;&amp;lt;soap:Role&amp;gt;&lt;/B&gt; elements - seems the only way is what you provided in last message (create complete &lt;B&gt;&amp;lt;soap:Fault&amp;gt;&lt;/B&gt; document and return it with &lt;I&gt;&lt;B&gt;tESBProviderResponse&lt;/B&gt;&lt;/I&gt;) - but better create this document right in tXMLMap (so you won't need to make stuff like '&lt;I&gt;tReplace delete XML header of this content ("&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;").'&lt;/I&gt;)</description>
      <pubDate>Thu, 04 Aug 2016 13:34:29 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Return-soap-response-after-onComponentError-on-tESBConsumer-and/m-p/2297938#M70458</guid>
      <dc:creator>atelesh</dc:creator>
      <dc:date>2016-08-04T13:34:29Z</dc:date>
    </item>
  </channel>
</rss>

