Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    RoisinLocke
    @RoisinLocke

    Hi all - noob question here... trying to access a public url ('http://dataaccess.com/webservicesserver/NumberConversion.wso') and I've got the following code:

    const options = {
          wsdl_options: {
            forever: true,
            rejectUnauthorized: false,
            strictSSL: false,
          },
          wsdl_headers: {
            'Content-Type': 'application/json; charset=utf-8',
            'Content-Length': 'length'
          },
        }
      let argument = {'ubiNum': '20'}
    
        soap.createClientAsync(url, options)
        .then((client) => {
          return client.NumberToWords(argument)
        })
        .then((resp) => {
          console.log('hello again', resp)
        })
        .catch((err) => {
          console.log('message', err.message)
          return err
        })

    But I'm getting a 400 error stating Invalid WSDL URL: http://dataaccess.com/webservicesserver/NumberConversion.wso
    I was previously getting a 401 error with the same message until I added the quotes to the argument object.

    Any advice would be greatly appreciated, I'm pretty stuck :(

    8 replies
    davefej
    @davefej
    Hi there!
    Is it possible to read response attachment (MTOM and/or SWA) with this lib?
    If not are there any workaround to solve this?
    Sean Winner
    @swinner2

    Hello all. Brand new to SOAP and a little confused. I'm calling this function on my soap client CreateSecureSession it should be a POST request. For some reason I think this code is making a GET request based on result.request.method === "GET". Is there something I'm missing? Can I force it to run a POST request? The body is html but I expect this function to return a secure session token.

    Here is my code

        soap.createClient(url, opts, function (err, client) {
          console.log("connected")
          client.CreateSecureSession(args, function (err, result, rawResponse, soapHeader, rawRequest) {
            console.log(JSON.stringify(result, null, 2))
            response = result
          })
        })
    4 replies
    Martin Lokaj
    @martin.lokaj_gitlab

    Hi guys,
    please any suggestion how to set client so I can get ID attribute and namespace in Body tag

    <soap:Body wsu:Id="id-623" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

    could not find anything in docs

    FredCni
    @FredCni

    hi ! i just install with 'npm install soap' and just execute 'var soap = require('soap');' throw an error: TypeError [ERR_INVALID_ARG_TYPE]: The "original" argument must be of type function

    I had the same issue.
    It was only a matter of running with a recent node version. Version 9 won't do. But v14 would.

    Aidan Marshall
    @aidanm1999

    Hi guys,
    New to the library, I have created a client with the appropriate URL and args, however, the options I have added are not getting implemented. The server I am trying to call does not work well with soap1.1 and so has to be done with 1.2. Therefore I have added the forceSoap12Headers tag to true, however looking at the client.last request, the soap XML isn't converted.

    Code:

    const options: IOptions = {
        forceSoap12Headers: true,
    };
    
    client.FnName(req, options, function (err, result) {
        console.log(client.lastRequest);
    });

    Generated XML:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:tns="[...]" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/">
      <soap:Body>
        [well made XML]
      </soap:Body>
    </soap:Envelope>

    Any help would be much appreciated!

    Mukhammad Pardaboev
    @linc96pm
    Hello everyone! How can I remove XML attributes from the response? I am getting response like this
    "ResponseInfo": {
                "attributes": {
                    "id": "id0",
                    "soapenc:root": "0",
                    "soapenv:encodingStyle": "http://schemas.xmlsoap.org/soap/encoding/",
                    "xsi:type": "ns3:OperationResponseInfo"
                },
                "response_code": {
                    "attributes": {
                        "xsi:type": "xsd:integer"
                    },
                    "value": 0
                },
                "EXTERNAL_SESSION_ID": {
                    "attributes": {
                        "xsi:type": "xsd:string"
                    },
                    "value": "1212dd0sk"
                }
            },
    yesvike
    @yesvike
    I am using version 0.39.0. I am able to consume the soap service using node-soap. Transaction performance is very slow compared to other technologies. For example, the same soap request gets the response in SpringBoot or soap ui in less than 10 seconds whereas node-soap takes 25 seconds. Do I need to set up any options for increasing the performance ?
    1 reply
    Joseph Betts
    @JBetts97

    Hello Everybody,
    How can I make client.Function calls sequentially after receiving response from previous function.

    For example:

    client.orderlist(args, function(err, response){
    console.log(response.ordernumber);
    
    response.forEach(function(arrayResponse){
    client.orderinfo(args, function(err, response){
    console.log(arrayResponse.emailaddress);
    }
    }
    }
    Actual output:
    - ordernumber
    - ordernumber
    - emailaddress
    - emailaddress
    
    Expected output:
    - ordernumber
    - emailaddress
    - ordernumber
    - emailaddress
    qcom-eug
    @qcom-eug
    I am using 0.37.0 but I am getting an array as a response. The first and third element was null but I am getting a response in the second and forth element in XML. Anyone has idea why?
    Moacir Carlos Kurmann
    @MoacirCarlos
    image.png
    Hello, when creating a query from a WSDL I'm having parser error in the xml, this only happens in docker environment, is there any option or volume configuration that I need to create?
    Tristan Storch
    @tstorch

    Hi. I'm new to node-soap. I have the following issue: A SOAP service is sending me back an XML response with escaped zero bytes (&x0;). Somehow node-soap seems to have problems with that it returns with an Error:
    Fault: {
    faultcode: 500,
    faultstring: 'Invalid XML',
    detail: 'Error: Invalid character entity\nLine: 0\nColumn: 19136\nChar: ;',
    statusCode: 500
    },

    Is there a reason why the zero byte is not decoded, but things like CR (\r) or LF (\n) are?

    Tristan Storch
    @tstorch
    Ok. I found the problem:
    isaacs/sax-js#150
    Is there any chance, that this will be fixed somehow in node-soap?
    argonauta2018
    @argonauta2018

    Any way to merge security WSSecurityCert and WSSecurity i want to authenticate with usernametoken and signature but setSecurity allows me only one

    Thanks...

    euberdeveloper
    @euberdeveloper
    Hi, I usually use REST APIs but this time I have to face SOAP for a third party service. I am new to SOAP, is it normal that I receive a 200 OK Http Status even if the body tells me that there was an error? Is this because SOAP is a protocol that wraps HTTP?
    If yes, does your package automatically handle these situations?
    Steve Lambe
    @firrae
    Is it not possible to use import soap from 'soap';? When I try to use it that way it comes back undefined, but require seems fine.
    Néstor Hernández Ojeda
    @nesheroj

    Is it not possible to use import soap from 'soap';? When I try to use it that way it comes back undefined, but require seems fine.

    I think the package might not have a default export, in that case you would need to import specifically what you want like: import { BearerSecurity, Client, createClient } from 'soap';

    image.png
    Does anybody know any reason why the events wouldn't trigger? I'm registering handlers for logging purposes and making some calls that are getting successful responses, but events seem to not be triggering.
    Antoine Poliakov
    @antoinep92

    Hi everyone, I'm using soap client. It generates request xml like this:

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:tns="http://myapi.com/webservice"
        xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/">
        <soap:Body>
            <MethodName xmlns="http://myapi.com/webservice">
            .......
            </MethodName>
        </soap:Body>
    </soap:Envelope>

    The xmlns attribute in the MethodName tag apparently breaks the request (at least on the webservice I'm using). Is there a way to remove the attribute through some options , and juste have <MethodName> instead of <MethodName xmlns="..."> ?

    1 reply
    Steve Lambe
    @firrae

    Is it not possible to use import soap from 'soap';? When I try to use it that way it comes back undefined, but require seems fine.

    I think the package might not have a default export, in that case you would need to import specifically what you want like: import { BearerSecurity, Client, createClient } from 'soap';

    Ah, thanks

    wellá
    @lostdesign

    Hi everyone, i am trying to make a soap call

    const gradeDeleteResult = await gradeClient.deleteGradeAsync({
          deleteGradeRequest: {
            id: Number(gradeId),
            profileBookingId: Number(bookingId)
          }
        })

    But it seems like that the JSON is creating the xml falsy.

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tnsSimoGrade="http://XXXXXXXXXX.de/grade/" xmlns:tnsSimoBase="http://XXXXXXXX.de/base/" xmlns:xsdSimoGrade="http://XXXXXX.de/grade/schema" xmlns:xsdSimo="http://XXXXXXXX.de/core/schema">
      <soap:Body>
        <tnsSimoBase:deleteGrade>
          <deleteGradeRequest>
            <id>11764173</id>
            <profileBookingId>10634046</profileBookingId>
          </deleteGradeRequest>
        </tnsSimoBase:deleteGrade>
      </soap:Body>
    </soap:Envelope>

    the expected xml should be

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:grad="http://XXXXXX.de/grade/">
      <soapenv:Header />
      <soapenv:Body>
        <grad:deleteGrade>
          <deleteGradeRequest id="11764173" profileBookingId="10634046" />
        </grad:deleteGrade>
      </soapenv:Body>
    </soapenv:Envelope>

    I have tried passing the XML as per https://github.com/vpulim/node-soap#example-with-xml-string-for-the-args

    const gradeDeleteResult = await gradeClient.deleteGradeAsync({
          _xml: `
        <grad:deleteGrade>
          <deleteGradeRequest id="${gradeId}" profileBookingId="${bookingId}" />
        </grad:deleteGrade>
        `
        })

    but that leaves me with a encoded xml payload

    <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:tnsSimoGrade="http://XXXXXXX/grade/" xmlns:tnsSimoBase="http://XXXXXXX/base/" xmlns:xsdSimoGrade="http://XXXXXXXXXX/grade/schema" xmlns:xsdSimo="http://XXXXXXXXX/core/schema"><soap:Body><tnsSimoBase:deleteGrade><xml>
        &lt;grad:deleteGrade&gt;
          &lt;deleteGradeRequest id=&quot;11764174&quot; profileBookingId=&quot;10634046&quot; /&gt;
        &lt;/grad:deleteGrade&gt;
        </xml></tnsSimoBase:deleteGrade></soap:Body></soap:Envelope>

    I'd appreciate any hints or help! Many thanks in advance

    2 replies
    merrittc
    @merrittc
    I'm trying to create a client for an older WCF service. Are there any tips others can provide to assist in setting this up? The service I'm using has a Ping operation and when It ry to create the client to call it, I get soap envelope like this...
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract"
        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
        xmlns:tns="http://www.CooperativeTechnologies.com/CT1035YellowPagesWS/v20800"
        xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
        xmlns:q1="http://www.CooperativeTechnologies.com/Schemas/CT1035YellowPagesWS/v20800"
        <!-- and 106 others... xmlns:q2, q3, q4, etc. -->
        xmlns:q108="http://www.CooperativeTechnologies.com/Schemas/CT1035YellowPagesWS/v20800">
        <soap:Header></soap:Header>
        <soap:Body></soap:Body>
    </soap:Envelope>
    1 reply
    Bernhard Posselt
    @BernhardPosselt
    hi I'm looking for documentation
    I want to create a soap client but the README doesn't contain an example of how this thing actually works
    kinda hard to figure out what args actually is if no TS types are generated
    ericpan17
    @ericpan17
    Anybody have any ideas why I am getting the following errors(from the soap server)
    2 replies
    Cannot read property 'description' of undefined
    at SAXParser.p.onopentag (~/lb/node_modules/soap/lib/wsdl/index.js:238:37)
    at emit (~/lb/node_modules/sax/lib/sax.js:624:35)
    at emitNode (~/lb/node_modules/sax/lib/sax.js:629:5)
    at openTag (~/lb/node_modules/sax/lib/sax.js:827:5)
    at SAXParser.write (~/lb/node_modules/sax/lib/sax.js:1280:15)
    at WSDL.xmlToObject (~/lb/node_modules/soap/lib/wsdl/index.js:443:11)
    at Server._process (~/lb/node_modules/soap/lib/server.js:244:29)
    at Server._processRequestXml (~/lb/node_modules/soap/lib/server.js:166:18)
    at IncomingMessage.<anonymous> (~/lb/node_modules/soap/lib/server.js:234:25)
    at IncomingMessage.clsBind (~/lb/node_modules/cls-hooked/context.js:172:17)
    at IncomingMessage.emit (events.js:387:35)
    at IncomingMessage.emit (domain.js:532:15)
    at IncomingMessage.emitted (~/lb/node_modules/cls-hooked/node_modules/emitter-listener/listener.js:134:21)
    at endReadableNT (internal/streams/readable.js:1317:12)
    at processTicksAndRejections (internal/process/task_queues.js:82:21)
    doktr
    @doktr
    Good evening, i m currently trying to send requests to a soap service in one of my projects and trying to use node-soap for that in a typescript express environment running in a docker container. Unfortunety the service requires a ntlm authentication and that is my big problem. I thought it is easy by adding client.setSecurity(new soap.NTLMSecurity(credentials)); but right now i have doubts that this is the only thing i have to do. My ntlm user - which is working via soapui/postman - got immediately blocked on first request, cause as the sys admin said, 10 failed authentications have been catched. Should it work out of the box on a linux docker instance? Do i need CNTLM or a windows server image?
    1 reply
    dursk
    @dursk
    Hello, I'm working on a feature right now that requires downloading MTOM attachments. I see that support was added in this PR https://github.com/vpulim/node-soap/pull/1148/files, and have been developing locally against that commit and everything is working great. Is there a plan or timeline to get this into an official release soon?
    Adish Upadhyay
    @adishupadhyay
    Hi All , If there is big amount of data in search response , its taking almost 25 minutes to return the response.. can anyone please suggest fix for this?
    data response of size ~3mb
    wagnerch
    @wagnerch
    Noticing with soap 0.40.0 that SOAP faults are no longer being included in the error exception via Async method calls. Just a generic "500" error. Reverting to 0.39.0 seems to fix this. Any one else have this problem?
    wagnerch
    @wagnerch
    Here is a reproducer of the 0.40.0 bug with SOAP faults:
    const soap = require("soap");
    
    (async () => {
        const client = await soap.createClientAsync("http://www.dneonline.com/calculator.asmx?wsdl");
    
        try {
            const res = await client.AddAsync ({
                "intA": "1",
                "intB": "a"
            });
            console.log(res[0]?.AddResult);
        } catch (error) {
            console.log("ERROR:", error?.message);
        }
    }) ();
    
    
    C:> npm install soap@0.40.0
    C:> node .\soap.js
    ERROR: Request failed with status code 500
    
    C:> npm install soap@0.39.0
    C:> node .\soap.js
    ERROR: soap:Client: System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (1, 326). ---> System.FormatException: Input string was not in a correct format.
       at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
       at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
       at System.Xml.XmlConvert.ToInt32(String s)
       at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1_Add()
       at Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer.Deserialize(XmlSerializationReader reader)
       at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
       --- End of inner exception stack trace ---
       at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
       at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
       at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
       --- End of inner exception stack trace ---
       at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
       at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
    Andrey Popov
    @somalil
    Hi, All! I'm a newbie in soap. Please write an example of a request with authorization(Basic). Thanks!!!
    Halvor Lyche Strandvoll
    @halvors

    Hi! I saw that it is possible to add attachments to a client for sending files with a soap request using multipart/related.

    Is this possible for the soap.listen() to parse? How can i read out attachments in listen() ?

    victorgsp
    @victorgsp

    I have the following error in my log:

    2021-08-25T08:13:59.074-03:00    Error: Error http status codes
    2021-08-25T08:13:59.074-03:00    at finish (/appserver/server/node_modules/soap/lib/client.js:256:33)
    2021-08-25T08:13:59.074-03:00    at parseSync (/appserver/server/node_modules/soap/lib/client.js:307:20)
    2021-08-25T08:13:59.074-03:00    at /appserver/server/node_modules/soap/lib/client.js:466:24
    2021-08-25T08:13:59.074-03:00    at Request._callback (/appserver/server/node_modules/soap/lib/http.js:171:17)
    2021-08-25T08:13:59.074-03:00    at Request.self.callback (/appserver/server/node_modules/request/request.js:185:22)
    2021-08-25T08:13:59.074-03:00    at Request.emit (events.js:314:20)
    2021-08-25T08:13:59.074-03:00    at Request.EventEmitter.emit (domain.js:483:12)
    2021-08-25T08:13:59.074-03:00    at Request.<anonymous> (/appserver/server/node_modules/request/request.js:1154:10)
    2021-08-25T08:13:59.074-03:00    at Request.emit (events.js:314:20)
    2021-08-25T08:13:59.074-03:00    at Request.EventEmitter.emit (domain.js:483:12)

    Which can cause the error: "Error http status codes"?

    Thanks!

    2 replies
    Joffrey Da Rocha
    @SteakdeNiche

    Hi people ! client.setSecurity using NTLMSecurity doesn't seems to work.
    I've tested my authentication using SOAPUI and it's going fine.
    Writing these code result each time in a 401 Unauthorized response from my WS. (My .wsdl file is correct and here)

    soap.createClient("file.wsdl", (err, client) => {
     client.setSecurity(new soap.NTLMSecurity(username, password, domain))
     client.MyFunction({}, (err, result) => {
       if (err) {
        console.log(err.response.status)
       }
       res.json(result)
      })
    })

    No Authorization Headers are set to my HTTP Request this way, I think that's the problem because using an old library "soap-ntlm" https://github.com/piotr-gawlowski/node-soap, there are Headers. Any ideas ?

    Halvor Lyche Strandvoll
    @halvors
    Is this channel inactive?
    Halvor Lyche Strandvoll
    @halvors
    Is there any way i can force content length to be set for a soap server?
    It is currently using chunked encoding and that is not supported by the client i need to serve.
    Andrew Brown
    @Andrew4041_gitlab
    Hello, everyone.
    Is it possible to get a session when making requests to the soap-server?
    app.listen(8001, function(){
    soapServer.listen(app, '/wsdl', myService, xml, function(){
    console.log('server initialized');
    });
    });
    How do I configure middleware for the soapServer object here?
    sm2017
    @sm2017
    There is a bug in version Version 0.41.0, I am using Version 0.39.0 and it works well today I upgraded to latest version and found that there is a bug in my app, after inspecting I figured out that vpulim/node-soap#1154 is a bad PR, I am using https-proxy-agent package to send requests via a http proxy, the code works with proxy in version 0.39.0 but not latest (I am not testing 0.41.0 but I think the issue is here)
    eldonzo
    @eldonzo

    Hi all, I upgraded from v 0.37.0 to 0.40.0 and I noticed a change in how errors are returned.
    I'm using a WSDL instance and the same request with 0.37.0 returns an error like this:

    {
       "root":{
          "Envelope":{
             "Body":{
                "Fault":{
                   "faultcode":"soap:Server",
                   "faultstring":"Il codice fiscale non e' nel formato corretto di 16 caratteri",
                   "detail":{
                      "WSException":{
                         "error":"3",
                         "message":"Il codice fiscale non e' nel formato corretto di 16 caratteri"
                      }
                   }
                }
             }
          }
       }
    }

    With 0.40.0 I get this (I replaced some informations with ...):

    {
       "message":"Request failed with status code 500",
       "name":"Error",
       "stack":"Error: Request failed with status code 500\n at createError (/usr/local/src/liveid/api/node_modules/axios/lib/core/createError.js:16:15)\n at settle (/usr/local/src/liveid/api/node_modules/axios/lib/core/settle.js:17:12)\n at IncomingMessage.handleStreamEnd (/usr/local/src/liveid/api/node_modules/axios/lib/adapters/http.js:260:11)\n at IncomingMessage.emit (events.js:326:22)\n at IncomingMessage.EventEmitter.emit (domain.js:483:12)\n at endReadableNT (_stream_readable.js:1241:12)\n at /usr/local/src/liveid/api/node_modules/async-listener/glue.js:188:31\n at processTicksAndRejections (internal/process/task_queues.js:84:21)",
       "config":{
          "url": ...,
          "method":"post",
          "data":"<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:tns=\"http://service.ws.nam/\">...</soap:Envelope>",
          "headers":{
             "Accept":"text/html,application/xhtml+xml,application/xml,text/xml;q=0.9,*/*;q=0.8",
             "Content-Type":"text/xml; charset=utf-8",
             "User-Agent":"node-soap/0.40.0",
             "Accept-Encoding":"none",
             "Accept-Charset":"utf-8",
             "Connection":"close",
             "Host": ...,
             "Content-Length":1529,
             "SOAPAction":"\"\"",
             "Authorization":"Basic ..."
          },
          "transformRequest":[
             null
          ],
          "transformResponse":[
             null
          ],
          "timeout":0,
          "xsrfCookieName":"XSRF-TOKEN",
          "xsrfHeaderName":"X-XSRF-TOKEN",
          "maxContentLength":-1,
          "maxBodyLength":-1
       }
    }

    Does anybody have some ideas of why this happens and how to restore an error like the one I get with 0.37.0 (beside from downgrading to 0.37.0 :P)?

    haribaskarvr
    @haribaskarvr
    Hi All, I have an issue with SOAP response.
    1. When the database contains records it is working fine, but when the records not present it is not returning null response or throwing error. If anyone has any suggestion please let me know.
    Deepak Rawat
    @DeepakR-28

    hello i recently started working on soap request because of a requirement in our org.

      var soap = require('soap');
      var url = 'http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso';
      var args = {sCountryISOCode: 'IN'};
      soap.createClient(url, function(err, client) {
          client.MyFunction(args, function(err, result) {
              console.log(result);
          });
      });

    i used that endpoint for testing purposes, which returns the capital of any country
    I am not sure what will go in the args,
    I made the same request from postman as you can see in the image

    with the library i get this error

    TypeError: Cannot read property 'MyFunction' of undefined
    1 reply
    image.png
    i apologize if this is a stupid question, but i am relatively new to this, haven't worked much with soap requests