2013-03-02 1 views
1

Donc, en essayant de mettre en œuvre le client simple SOAP javascript suivante, je suis en cours d'exécution dans cette erreur:fonction non identifié javascript/ajax savon client

Uncaught ReferenceError: soap is not defined soaptest.html:60

onclick soaptest.html:60

Voici le client:

<html> 
<head> 
    <title>SOAP JavaScript Client Test</title> 
    <script type="text/javascript"> 
     function soap() 
     { 
      $(document).ready(function() { 
       $("#send").click(function (event) { 
        var wsUrl = "http://redactedurl.redactedurl.com/c"; 

        var soapRequest = 
        '<?xml version="1.0" encoding="utf-8"?> \ 
        <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \ 
         xmlns:xsd="http://www.w3.org/2001/XMLSchema" \ 
         xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> \ 
        <soap:Body> \ 
        <getApiFunction xmlns="http://tempuri.org/"> 
         <zipCode>10032</zipCode> 
         <series>avalon</series>\ 
        </getApiFunction> \ 
        </soap:Body> \ 
        </soap:Envelope>'; 

      console.log(soapRequest); 

      $.ajax({ 
       type: "post", 
       url: wsUrl, 
       contentType: "text/xml", 
       dataType: "xml", 
       data: soapRequest, 
       success: processSuccess, 
       error: processError 
      }); 

      }); 
     }); 
    } 

    function processSuccess(data, status, req, xml, xmlHttpRequest, responseXML) { 
     $(req.responseXML) 
     .find('XMLNode') 
     .each(function(){ 
      var id = $(this).find('xmlchildnode').text(); 
      console.log(id); 
     }); 
    } 

    function processError(data, status, req) { 
     alert(req.responseText + " " + status); 
     console.log(data); 
     console.log(status); 
     console.log(req); 
    } 
    </script> 
</head> 
<body> 
    <form name="Demo" action="" method="post"> 
     <div> 
      <input type="button" value="Soap" onclick="soap();" /> 
     </div> 
    </form> 
</body> 
<html> 

Cette C'est la première fois que j'ai essayé de travailler avec AJAX, donc je suis sûr qu'il y a beaucoup d'erreurs ... toute aide sera grandement appréciée. Voici la requête SOAP (au cas où cela est nécessaire)

POST /apiname.asmx HTTP/1.1 
Host: redactedurl.redactedurl.com 
Content-Type: text/xml; charset=utf-8 
Content-Length: length 
SOAPAction: "http://tempuri.org/getApiFunction" 

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <getApiFunction xmlns="http://tempuri.org/"> 
     <zipCode>string</zipCode> 
     <series>string</series> 
    </getApiFunction> 
    </soap:Body> 
</soap:Envelope> 

Répondre

1

vous manque un jeu en face de ces deux lignes:

<getApiFunction xmlns="http://tempuri.org/"> 
<zipCode>10032</zipCode> 

qui est la cause de votre javascript à l'échec, ce qui signifie que votre soap La fonction n'est jamais définie.

Questions connexes