<?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: Adding extern SOAP libray to WAB Custom Widget in Web AppBuilder Custom Widgets Questions</title>
    <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852518#M11027</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would try to&amp;nbsp;break down the problem by using just your own custom javascript file that doesn't do much, maybe contains a test function, and a few properties, just to see that you are able to add an external resource.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once you got through that part, you can try to add an actual library that was already proven to be supported and possible to be added -&amp;nbsp;maybe even find a sample code that implements that external resource to see the syntax and learn from it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once you managed to do the above, you know that you are adding the external resource right and you know that it's possible to add an external resource.&amp;nbsp; At this point, you can surely know that tinysoap cannot be added and it's not your fault. My guess is that it's dependant on other files and cannot be initialized like that&amp;nbsp;without a proper install through NPM, but all of this cannot be proven until you follow the above approach and if you're not a javascript developer, I guess that doesn't make things easier.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 14 Jul 2020 11:40:01 GMT</pubDate>
    <dc:creator>shaylavi</dc:creator>
    <dc:date>2020-07-14T11:40:01Z</dc:date>
    <item>
      <title>Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852515#M11024</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to use `tinysoap` library (&lt;A href="https://github.com/mhzed/tinysoap" target="_blank"&gt;https://github.com/mhzed/tinysoap&lt;/A&gt;) in an Web AppBuilder Custom Widget.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am able to use this library in WebAppBuilder application, as I show on the following sample code (real code included in HTML file). All my functions are included in a class called `myClass` in `customLibrary.js` file. Most functions in `customLibrary.js` call `tinysoap` functions, and everything works well:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; &amp;lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;
 &amp;lt;script src="node_modules/tinysoap/tinysoap-browser-min.js"&amp;gt;&amp;lt;/script&amp;gt;

 &amp;lt;script src="node_modules/lib/customLibrary.js"&amp;gt;&amp;lt;/script&amp;gt;
 &amp;lt;script src="https://js.arcgis.com/4.15/"&amp;gt;&amp;lt;/script&amp;gt;
 ...
 &amp;lt;script&amp;gt;
    var tinySoap = this.tinysoap;
    require([], function(){
        //code goes here
        myClass.myfunction(){...}; 
    });
 &amp;lt;/script&amp;gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I have to implement the same functionality in a &lt;SPAN&gt;Web AppBuilder Custom Widget.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I have had to modify javascript code from `customLibrary.js` class to `myModule.js`, and now I have this content (sample code):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;# myModule.js&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;define([], function () {

 var myModule = {};
 const url = "http://example.com/wsdl?wsdl";

 myModule.myFunction = function(userTxtValue, callback) {
  if (userTxtValue){
 &amp;nbsp;&amp;nbsp;&amp;nbsp;console.log('1. myModule.myFunction:', userTxtValue);
 
 &amp;nbsp;&amp;nbsp;&amp;nbsp;var args = {name: userTxtValue};
 &amp;nbsp;&amp;nbsp;&amp;nbsp;tinySoap.createClient(url, function(err, client){
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.soapClientFunction(args, function(err, result){
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return callback(result);
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});
 &amp;nbsp;&amp;nbsp;&amp;nbsp;});
   }
 };
 return myModule;
});&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;# Widget.js&lt;/STRONG&gt;&lt;BR /&gt;So, I have `Widget.js` file with reference to `myModule.js`, without problems, using in this way:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;define(['./myModule'], function(customModule) {
   customModule.myFunction( userTxtValue, function(result) { 
      console.log("widget.js, result:", result);
    });
 });&lt;/PRE&gt;&lt;P&gt;Also, I have tried to insert in&amp;nbsp;&lt;STRONG&gt; init.js &lt;/STRONG&gt;(its is not desirable situation) but it doesn't work&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;dojoConfig.packages = [{
 name: "widgets",
 location: window.path + "widgets"
 }, {
   name: "jquery",
   location: "http://ajax.googleapis.com/ajax/libs/jquery/1.10.2",
   main: "jquery"
 }, {
   name: "tinysoap",
   location: window.path + "widgets/myWidget/node_modules/tinysoap/lib",
   main: "soap"
 },
 ...
 }]&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;None of these test works.&lt;/P&gt;&lt;P&gt;So, what is the proper way to add `tinysoap` library to my widget?&lt;/P&gt;&lt;P&gt;Thank you in advance !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 17:00:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852515#M11024</guid>
      <dc:creator>GerardMartin</dc:creator>
      <dc:date>2021-12-12T17:00:07Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852516#M11025</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gerard,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why&amp;nbsp;adding the library into the init is not a desirable solution?&lt;/P&gt;&lt;P&gt;ESRI recommends it as one of 3 ways to add external libraries, just make sure you're implementing it right&lt;BR /&gt;&lt;A class="link-titled" href="https://developers.arcgis.com/web-appbuilder/sample-code/add-a-third-party-library.htm" title="https://developers.arcgis.com/web-appbuilder/sample-code/add-a-third-party-library.htm" rel="nofollow noopener noreferrer" target="_blank"&gt;Use other libraries—ArcGIS Web AppBuilder (Developer Edition) | ArcGIS for Developers&lt;/A&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try putting the library under the libs folder and inside init.js you should have something like -&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; border: 0px; font-weight: bold;"&gt;&lt;STRONG&gt;window.path + 'libs/tinysoap/tinysoap.js'&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inside your custom widget, the library should already be available as part of your global scope -&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="token function"&gt;define&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;
    &lt;SPAN class="string token"&gt;'dojo/_base/declare'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
    &lt;SPAN class="string token"&gt;'jimu/BaseWidget'&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;declare&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; BaseWidget&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
     &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;declare&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;BaseWidget&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
          startup&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
               &lt;SPAN class="comment token"&gt;// ** library should be accessible at this point **&lt;/SPAN&gt;
          &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
     &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Shay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:30:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852516#M11025</guid>
      <dc:creator>shaylavi</dc:creator>
      <dc:date>2021-12-12T10:30:30Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852517#M11026</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Shay, thank you&amp;nbsp;very much for your answer !&lt;/P&gt;&lt;P&gt;But, although I have followed your suggestions the code still doesn't work&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Step 1.&lt;/STRONG&gt; I have copy tinysoap folder to &lt;STRONG&gt;./client/stemapp/libs&lt;/STRONG&gt; folder&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/500228_pastedImage_1.png" /&gt;&lt;/P&gt;&lt;P&gt;This is the content of tinysoap [1] folder. As you can see, &lt;STRONG&gt;it is not an AMD module.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-2 jive-image" src="https://community.esri.com/legacyfs/online/500229_pastedImage_2.png" /&gt;&lt;/P&gt;&lt;P&gt;[1]&amp;nbsp;&lt;A class="link-titled" href="https://github.com/mhzed/tinysoap" title="https://github.com/mhzed/tinysoap"&gt;GitHub - mhzed/tinysoap: soap client in pure javascript, runs in browser&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Step 2.1.&lt;/STRONG&gt; I have included this sentence in &lt;STRONG&gt;init.js&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-3 jive-image" src="https://community.esri.com/legacyfs/online/500230_pastedImage_5.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;And I got this error ( You can see &lt;STRONG&gt;./CustomWidget/widget.js&lt;/STRONG&gt; code&lt;/SPAN&gt;&amp;nbsp;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;IMG class="image-5 jive-image" src="https://community.esri.com/legacyfs/online/500237_pastedImage_13.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;Step 2.2.&lt;/STRONG&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;So&amp;nbsp;&lt;/SPAN&gt;I try with this sentence in&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;init.js&lt;/STRONG&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;IMG class="image-6 jive-image" src="https://community.esri.com/legacyfs/online/500238_pastedImage_16.png" /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;And I got this error,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;IMG class="image-7 jive-image" src="https://community.esri.com/legacyfs/online/500239_pastedImage_17.png" /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;Step 3. &lt;/STRONG&gt;Finally, I have included \tinysoap\ in &lt;STRONG&gt;.stemapp\libs\packages.js&lt;/STRONG&gt;, but I got the same error in step 2.2&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="jive-image image-8" src="https://community.esri.com/legacyfs/online/500246_pastedImage_22.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So,&amp;nbsp;I'm sure I'm making a mistake, but I am not a JS developer and I can't see where is the problem ...&lt;/P&gt;&lt;P&gt;Maybe, I have to read this library differently?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks for your help !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2020 11:04:43 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852517#M11026</guid>
      <dc:creator>GerardMartin</dc:creator>
      <dc:date>2020-07-14T11:04:43Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852518#M11027</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would try to&amp;nbsp;break down the problem by using just your own custom javascript file that doesn't do much, maybe contains a test function, and a few properties, just to see that you are able to add an external resource.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once you got through that part, you can try to add an actual library that was already proven to be supported and possible to be added -&amp;nbsp;maybe even find a sample code that implements that external resource to see the syntax and learn from it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once you managed to do the above, you know that you are adding the external resource right and you know that it's possible to add an external resource.&amp;nbsp; At this point, you can surely know that tinysoap cannot be added and it's not your fault. My guess is that it's dependant on other files and cannot be initialized like that&amp;nbsp;without a proper install through NPM, but all of this cannot be proven until you follow the above approach and if you're not a javascript developer, I guess that doesn't make things easier.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2020 11:40:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852518#M11027</guid>
      <dc:creator>shaylavi</dc:creator>
      <dc:date>2020-07-14T11:40:01Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852519#M11028</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Many thanks for your quick answer Shay !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. I have done exactly what you suggest: I have used ESRI Custom widget to simplify the problem, It is the code of widget.js that I showed in examples.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Also, I have used tinysoap in an Web App Builder App succesfully (see first message).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.&amp;nbsp;In reference to NPM packages, I have been looking for tinysoap in&amp;nbsp;NPM repository (https://www.npmjs.com) but it was not there, only in github:&amp;nbsp;&amp;nbsp;&lt;A class="link-titled" href="https://github.com/mhzed/tinysoap" title="https://github.com/mhzed/tinysoap"&gt;GitHub - mhzed/tinysoap: soap client in pure javascript, runs in browser&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You're right that there are dependencies.&lt;/P&gt;&lt;P&gt;So, the qüestion is, how to use a third party library (not implemneted as AMD module) in a ESRI widget, only as nmp package?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance for your time !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2020 12:15:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852519#M11028</guid>
      <dc:creator>GerardMartin</dc:creator>
      <dc:date>2020-07-14T12:15:44Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852520#M11029</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No worries, Gerard. Seems like you've done an impressive job there for&amp;nbsp;someone who's not a JS developer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To use libraries like tinysoap that&amp;nbsp;has dependencies, you would probably&amp;nbsp;have to switch to work with the newer versions of javascript (es6), where you are able to use NPM as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can use ESRI's Yeoman tool to create an empty widget for you in es6 -&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://github.com/Esri/generator-esri-appbuilder-js" title="https://github.com/Esri/generator-esri-appbuilder-js"&gt;GitHub - Esri/generator-esri-appbuilder-js: Yeoman generator to help customize Esri's WebAppBuilder&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then it should be straight forward on how to install tinysoap, but the rest of your code will need to be rewritten, so I'm not sure if it's worth it over finding a different solution.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I just recently answered someone with a resource on how to code in es6 a custom widget. You can here's a live demo by ESRI on how to code a widget in modern javascript + typescript -&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.youtube.com/watch?v=3gp0vAVH724" title="https://www.youtube.com/watch?v=3gp0vAVH724"&gt;Web AppBuilder for ArcGIS: Advanced Development tools and Techniques - YouTube&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Might be good preparation for you when starting to work with version 4 of the javascript API &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/wink.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2020 12:29:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852520#M11029</guid>
      <dc:creator>shaylavi</dc:creator>
      <dc:date>2020-07-14T12:29:35Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852521#M11030</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;THANK YOU FOR YOUR HELP Shay !&lt;/P&gt;&lt;P&gt;I need some time to process all this information &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;, thanks again !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Jul 2020 13:00:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852521#M11030</guid>
      <dc:creator>GerardMartin</dc:creator>
      <dc:date>2020-07-14T13:00:09Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852522#M11031</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Shay,&amp;nbsp;&lt;SPAN style="background-color: #ffffff;"&gt;ESRI's Yeoman tool&lt;SPAN&gt;&amp;nbsp;is a good widget generator &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;SPAN&gt;but it is not a solution for my problem: too much work rewrite all the code. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;SPAN&gt;I keep looking how to solve this issue ...&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2020 07:22:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852522#M11031</guid>
      <dc:creator>GerardMartin</dc:creator>
      <dc:date>2020-07-15T07:22:42Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852523#M11032</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A href="https://community.esri.com/migrated-users/410356" target="_blank"&gt;Gerard Martin&lt;/A&gt;&amp;nbsp;and&amp;nbsp;&lt;A href="https://community.esri.com/migrated-users/334593" target="_blank"&gt;Shay Lavi&lt;/A&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By recommendation of&amp;nbsp;&lt;A href="https://community.esri.com/migrated-users/2344" target="_blank"&gt;Gavin Rehkemper&lt;/A&gt;&amp;nbsp;I have been trying using "jimu/loaderplugins/jquery-loader!" as &lt;A href="https://gis.stackexchange.com/questions/185174/how-to-load-jqueryui-into-web-appbuilder/206133#206133" rel="nofollow noopener noreferrer" target="_blank"&gt;explained here&lt;/A&gt;, this is the code I've used:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="token function"&gt;define&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;
        &lt;SPAN class="string token"&gt;'dojo/_base/declare'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; 
        &lt;SPAN class="string token"&gt;'jimu/BaseWidget'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
        &lt;SPAN class="string token"&gt;'jimu/loaderplugins/jquery-loader!./widgets/CustomTinySoap/libs/jquery.min.js, ./widgets/CustomTinySoap/libs/tinysoap-browser-min.js'&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;declare&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; BaseWidget&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; $&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; tinySoap&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
  &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;declare&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;BaseWidget&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;

    baseClass&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;'custom-tiny-soap'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;

    postCreate&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
      &lt;SPAN class="keyword token"&gt;this&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;inherited&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;arguments&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
      console&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;log&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'CustomTinySoap::postCreate'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
      &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; userTxtValue &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"rossinyol"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
      
      &lt;SPAN class="keyword token"&gt;const&lt;/SPAN&gt; url &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;""&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// SOAP Service&lt;/SPAN&gt;

      tinysoap&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;createClient&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;url&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;err&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; client&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
                client&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;setSecurity&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt; tinysoap&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;WSSecurity&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;''&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;''&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; 
                client&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;localitzaToponim&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;argsToponim&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;err&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; result&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
                    console&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;log&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'localitzaToponim: '&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; result&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'item'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
                    &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;callback&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;result&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;'item'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

                &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//END client.localitzaToponim();&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;// END tinySoap.createClient();            &lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

  &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Then, I noticed &lt;STRONG&gt;the libraries were loaded properly&lt;/STRONG&gt;, but the error was still there:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;// ERROR: Uncaught Error: undefinedModule at tinysoap-browser-min.js? Wab_dv = 2.13: 1‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;And then&amp;nbsp;I thought.... maybe the issue is not with Web AppBuilder&amp;nbsp;itself but of the library. So&amp;nbsp;&lt;STRONG&gt;I prettified the&amp;nbsp;tinysoap-browser-min.js&lt;/STRONG&gt;&amp;nbsp;(because I couldn't find the regular version) and I noticed the&amp;nbsp;problems started at the beginning of the library, while the library is checking if the function "require" exists (line 5):&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="operator token"&gt;!&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;t&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
	e &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; n &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; j &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;typeof&lt;/SPAN&gt; require &lt;SPAN class="operator token"&gt;===&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"undefined"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;__sr &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;__sr &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; require&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;__r &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;function&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;t&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; e &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;t&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
            &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;null&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;===&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sts &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;load&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;call&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; e&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mod&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;exports
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;https &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            sts&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            mod&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
                exports&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;__sr&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"https"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;http &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            sts&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            mod&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
                exports&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;__sr&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"http"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;util &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            sts&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            mod&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
                exports&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;__sr&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"util"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;fs &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            sts&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            mod&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
                exports&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;__sr&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"fs"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;crypto &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            sts&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;
            mod&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
                exports&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;__sr&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"crypto"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
            &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; j&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;a &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I found &lt;STRONG&gt;it's failing on lines 13, 18, 23, 28&lt;/STRONG&gt;, ... I&amp;nbsp;guess it is because... the code is prepared to run also on NodeJS? and the condition is just trying to determine if you're running the code on NodeJS but it is not considering that you can have another "require" function, in this case, RequireJS library so&amp;nbsp;when it tries to load the libraries&amp;nbsp;... RequireJS fails, right?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I &lt;STRONG&gt;just tried commenting all those lines&lt;/STRONG&gt;, and&amp;nbsp;... ta-da! it didn't fail .... at that point xDDD.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For some reason the "tinysoap" was not initialized under the scope of the&amp;nbsp;widget, so&amp;nbsp;I also did one more change, I added this line before the end of the script:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;window&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;tinysoap &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; n&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"object"&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;==&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;typeof&lt;/SPAN&gt; exports &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="string token"&gt;"undefined"&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;typeof&lt;/SPAN&gt; module &lt;SPAN class="operator token"&gt;&amp;amp;&amp;amp;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;module&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;exports &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; n&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Of course, doing that, I was able&amp;nbsp;to use&amp;nbsp;the library&amp;nbsp;within the widget.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here you can find &lt;A href="https://github.com/hhkaos/wab-tinysoap-widget/blob/master/tinysoap-browser-min.js" rel="nofollow noopener noreferrer" target="_blank"&gt;my&amp;nbsp;modified tinysoap-browser-min.js file&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which is my problem now?, well, first I'm having a CORS problem, to avoid that during development I have used &lt;A href="https://chrome.google.com/webstore/detail/moesif-orign-cors-changer/digfbfaphojjndkpccljibejjbppifbc/related?hl=en-US" rel="nofollow noopener noreferrer" target="_blank"&gt;Moesif Orign &amp;amp; CORS Changer chrome extension&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But after that&amp;nbsp;I had another issue...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;STRONG&gt;--- SHORT BREAK FROM PREVIOUS CODE --&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Before keep looking on WAB I decided to&amp;nbsp;check if&amp;nbsp;libraries work the same way even after my changes. Here you can see two vanilla examples using the tinysoap library:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;A href="https://hhkaos.github.io/wab-tinysoap-widget/vanila-tinysoap-sample-cdn.html?t=2" rel="nofollow noopener noreferrer" target="_blank"&gt;Using the library directly from the CDN&lt;/A&gt;&amp;nbsp;-&amp;gt; right now it's failing because "argsToponim" is not defined, so that OK&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://hhkaos.github.io/wab-tinysoap-widget/vanilla-tinysoap-sample-local-modified.html" rel="nofollow noopener noreferrer" target="_blank"&gt;Using my modified version of the library&lt;/A&gt;&amp;nbsp;-&amp;gt; It's now failing to try to parse the XML, I still haven't figure out why but &lt;A href="https://github.com/hhkaos/wab-tinysoap-widget/blob/master/tinysoap-browser-min.js#L670" rel="nofollow noopener noreferrer" target="_blank"&gt;the variable "args" on line 670 is not defined&lt;/A&gt;.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;And as you can see it seems they don't.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--- END SHORT BREAK FROM PREVIOUS CODE --&lt;/STRONG&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;And for now... this is everything I can say xD, I hope my tests can help us find a solution to the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Raul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:30:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852523#M11032</guid>
      <dc:creator>Raul_Jimenez</dc:creator>
      <dc:date>2021-12-12T10:30:33Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852524#M11033</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Impressive work Raul, thanks for sharing. It's important to keep in mind that this isn't a sustainable solution.&lt;/P&gt;&lt;P&gt;I would consider it as a temporary patch (which can last for a few years as well), but it's hard to maintain and pass-over to other developers if/when necessary. Updates of the application/library might break it as well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shay.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2020 10:13:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852524#M11033</guid>
      <dc:creator>shaylavi</dc:creator>
      <dc:date>2020-08-06T10:13:27Z</dc:date>
    </item>
    <item>
      <title>Re: Adding extern SOAP libray to WAB Custom Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852525#M11034</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, you're totally right Shay, &lt;A href="https://github.com/mhzed/tinysoap/issues/11"&gt;I&amp;nbsp;have&amp;nbsp;opened an issue in the repo&lt;/A&gt;&amp;nbsp;letting them know about this situation, and if they are OK I will try to send a pull request to fix i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BTW, I have just figured out that the problem with the "args" variable was caused by myself... ^_^'', I did a find and replace "arguments" by "args" because&amp;nbsp;I was using the Grunt tasks provided by the Yeoman generator, and when it found the "arguments" variable in the code it prints out this message:&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;Warning: widgets/CustomTinySoap/libs/tinysoap-browser-min.js: arguments is a reserved word in strict mode (499:50)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;And it doesn't copy the code to the Web AppBuilder app.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I have&amp;nbsp;reverted&amp;nbsp;the&amp;nbsp;changes:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;Does anyone know how can I avoid that issue?,&amp;nbsp;do I need to remove the "use strict" from somewhere?&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;UPDATE (10th August):&lt;/STRONG&gt; I have opened &lt;A href="https://github.com/Esri/generator-esri-appbuilder-js/issues/162"&gt;an issue&amp;nbsp;in the&amp;nbsp;yeoman generator repo&lt;/A&gt;&amp;nbsp;about this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;H1&gt;Conclusions&lt;/H1&gt;&lt;UL style="padding-left: 60px;"&gt;&lt;LI&gt;&lt;STRONG&gt;The problem was not with WAB, was with the tinysoap library itself&lt;/STRONG&gt; in this case. It is a confusion&amp;nbsp;between the "require" form RequireJS.org with "require" from NodeJS.&amp;nbsp;It runs an if statement "&lt;A href="https://github.com/hhkaos/wab-tinysoap-widget/blob/master/tinysoap-browser-min-v2.js#L4"&gt;if (typeof require === "undefined")&lt;/A&gt;" in order to check if the code is been run in the client/browser or in the server with NodeJS. But in this&amp;nbsp;case&amp;nbsp;because of the RequireJS library is loaded&amp;nbsp;the code thinks that it is running within a NodeJS environment and it tries to load "https", "http", "util", "fs" and "crypto" which are NodeJS core libraries, and of course,&amp;nbsp;it fails because RequireJS doesn't know how to load them. That's the reason of the "undefined Module" error, it's not related a problem loading the tinysoap library itself. So &lt;STRONG&gt;my solution here was just commenting those lines (18, 24, 39, 36 and 42)&lt;/STRONG&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="text-decoration: line-through;"&gt;&lt;STRONG&gt;The second problem was related to accessing the library within the scope of the Widget&lt;/STRONG&gt;. I don't know why it was not accessible there, &lt;STRONG&gt;so I just simply added it to the global scope&lt;/STRONG&gt; (a.k.a. "window" object) &amp;lt;- please, forgive me about that, xD, I just took the short path. Someone can tell me the right way to do this? Or why this is happening in the first place? &lt;STRONG&gt;Notice:&lt;/STRONG&gt; &lt;A href="https://github.com/hhkaos/wab-tinysoap-widget/blob/master/tinysoap-browser-min-v2.js#L2235"&gt;in my code I use "tinysoap"&lt;/A&gt; instead of "tinySoap" as Gerard, so in my case the right way to call it is&amp;nbsp;tinysoap.createClient&lt;/SPAN&gt;&amp;nbsp;--&amp;gt; &lt;STRONG&gt;UPDATE (7th August)&lt;/STRONG&gt;:I just&amp;nbsp;checked it again and it works now... &lt;STRONG&gt;so I have removed this.&lt;/STRONG&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I think this last thing has nothing to do with the solution, but just in case... as mentioned in &lt;A _jive_internal="true" href="https://community.esri.com/thread/256041-adding-extern-soap-libray-to-wab-custom-widget?commentID=945990#comment"&gt;my previous message&lt;/A&gt;, I used&amp;nbsp;"jimu/loaderplugins/jquery-loader!" to load the library instead of the &lt;A href="https://developers.arcgis.com/web-appbuilder/sample-code/add-a-third-party-library.htm"&gt;other ways mentioned in the developers documentation&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And I think that's all. I hope that helps.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Best regards,&lt;/P&gt;&lt;P&gt;Raul&lt;/P&gt;&lt;DIV style="position: absolute; left: 205px; top: -16px;"&gt;&lt;DIV class="gtx-trans-icon"&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2020 12:26:26 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/adding-extern-soap-libray-to-wab-custom-widget/m-p/852525#M11034</guid>
      <dc:creator>Raul_Jimenez</dc:creator>
      <dc:date>2020-08-06T12:26:26Z</dc:date>
    </item>
  </channel>
</rss>

