title: Node.js SOAP Call with Complex Types
body: <p>I am currently attempting to use <strong>node-soap</strong> (<a href="https://github.com/milewise/node-soap" rel="noreferrer">https://github.com/milewise/node-soap</a>) to make calls to Authorize.net's SOAP server. However, I cannot seem to get my client code pass the proper parameters. I know that the function is calling the server since I get a server error response.</p>
  
  <p>When I examine the WSDL, I notice that the server call requires ComplexType parameters. Is there a way to create the ComplexTypes that I need or can I just use Javascript objects? Here is my current code:</p>
  
  <pre><code>  var soap = require('soap');
  
    var url = 'https://api.authorize.net/soap/v1/Service.asmx?WSDL';
  
    soap.createClient(url, function(err, client) {
  
    var args = {
        merchantAuthentication: {
          name: '285tUPuS',
          transactionKey: '58JKJ4T95uee75wd'
        }
    };
  
    client.Service.ServiceSoap12.GetTransactionDetails(args, 
        function(err, result) {
  
            if (err) {
              console.log(err);
            } else {
              console.log(result.GetTransactionDetailsResult[0].messages);
            }
        });
  </code></pre>
  
  <p>});</p>