topical media & game development

talk show tell print

basic-xml-15-soapclient2.htm / htm



  <html><head><title>GET Tester</title>
  <script language="JavaScript">
  function doPost()
  {
      var xdDoc, xhHTTP, sXML
      
      //sXML = "<methodCall>   <methodName>topicExchange.getChannels</methodName></methodCall>";
      sXML = "<methodCall>"+
             "<methodName>topicExchange.ping</methodName>"+
             "<params><param><value><string>test</string></value></param>"+
             "<param><value><struct>"+
             "<member><name>blog_name</name>"+
                     "<value><string>"+orderForm.blog_name.value+"</string></value>"+
             "</member><member><name>title</name>"+
                     "<value><string>"+orderForm.title.value+"</string></value>"+
             "</member><member><name>url</name>"+
                     "<value><string>"+orderForm.url.value+"</string></value>"+
             "</member><member><name>excerpt</name>"+
                     "<value><string>"+orderForm.excerpt.value+"</string></value>"+
             "</member></struct></value>"+
             "</param></params>"+
             "</methodCall>";
  
      xdDoc = new ActiveXObject("MSXML.DOMDocument");
      xdDoc.loadXML(sXML);
  
      xhHTTP = new ActiveXObject("MSXML2.XMLHTTP");
      xhHTTP.open("POST", "http://topicexchange.com/RPC2", false);
      xhHTTP.send(xdDoc);
      
      xdDoc = xhHTTP.responseXML;
  
      if(xdDoc.selectSingleNode("//member[name='flError']/value").text == "1")
      {
          var msg = "Error: \n"+xdDoc.selectSingleNode("//member[name='message']/value").text;
          alert(msg);
      }
      else
      {
          var msg = "Success!  Ping "+
               xdDoc.selectSingleNode("//member[name='pingid']/value").text+
               " successfully added to URL "+
               xdDoc.selectSingleNode("//member[name='topicUrl']/value").text;
          alert(msg);
      }
      
  }
  
  function updateTotal(){
  
      var qty = orderForm.qty.value;
      var unitPrice = orderForm.unitPrice.value;
  
      xdDoc = new ActiveXObject("MSXML.DOMDocument");
  
      xhHTTP = new ActiveXObject("MSXML2.XMLHTTP");
      xhHTTP.open("GET", "http://192.168.1.100/soap/updateTotal2.asp?quantity=" 
                      + qty + "&unitPrice=" + unitPrice, false);
  
      xhHTTP.send();
      xdDoc = xhHTTP.responseXML;
  
      alert(xdDoc.xml);
  
      var discount, extPrice;
      discount = xdDoc.selectSingleNode("//o:discount").text + "% off";
      extPrice = xdDoc.selectSingleNode("//o:extPrice").text;
  
      document.getElementById("discount").innerHTML = discount;
      orderForm.extPrice.value = extPrice;
                  
  
  }
  
  function sendOrder(){
  
      var xdDoc, xhHTTP, sXML
      sXML = "<env:Envelope xmlns:env="
      sXML = sXML + "'http://www.w3.org/2003/05/soap-envelope'>"
      sXML = sXML + "<env:Body>"
      sXML = sXML + "<o:addToCart xmlns:o='http://www.sernaferna.com/soap/ordersystem'>";
      sXML = sXML + "<o:cartId>"+orderForm.cartId.value+"</o:cartId>";
      sXML = sXML + "<o:itemId>"+orderForm.itemId.value+"</o:itemId>";
      sXML = sXML + "<o:quantity>"+orderForm.qty.value+"</o:quantity>";
      sXML = sXML + "<o:extPrice>"+orderForm.extPrice.value+"</o:extPrice>";
      sXML = sXML + "</o:addToCart>";
      sXML = sXML + "</env:Body>";
      sXML = sXML + "</env:Envelope>";
  
      xdDoc = new ActiveXObject("MSXML.DOMDocument");
      xdDoc.loadXML(sXML);
  
      xhHTTP = new ActiveXObject("MSXML2.XMLHTTP");
      xhHTTP.open("POST", "http://192.168.1.100/soap/submitOrder1.asp", false);
      xhHTTP.send(xdDoc);
  
      xdDoc = xhHTTP.responseXML;
  submitSpan.innerHTML = xhHTTP.responseText;
   
      var responseName;
      responseName = xdDoc.selectSingleNode("//env:Body").firstChild.nodeName;
  
      if (responseName == "env:Fault") {
         var reason, message
         reason = xdDoc.selectSingleNode("//env:Reason/env:Text").firstChild.nodeValue;
         message = xdDoc.selectSingleNode("//o:message").firstChild.nodeValue;
  
         alert(reason+":\n"+message);
  
      } else {
         var orderNumber, status, total;
         cartId = xdDoc.selectSingleNode("//o:cartId").firstChild.nodeValue;
         status = xdDoc.selectSingleNode("//o:status").firstChild.nodeValue;
         itemId = xdDoc.selectSingleNode("//o:itemId").firstChild.nodeValue;
      
         submitSpan.innerHTML = "<b>Item "+itemId+" added to cart #"+cartId+"</b>";
      }
  
  }
  
  </script>
  </head>
  <body>
  
  <h1>SOAP Pricing Tool</h1>
  
  <form name="orderForm" id="orderForm">
  
    <input type="hidden" name="itemId" id="itemId" value="ZIBKA" />
    <input type="hidden" name="cartId" id="cartId" value="THX1138" />
     
    Quantity: <input id="qty" name="qty" size="3" onChange="updateTotal();"
                  value="0" />
    <br />
    Item: <i>Zibka Smiles</i>, by The Polka Dot Zither Band 
    <br />
    Discount: <span id="discount"></span>
    <br />
    Unit Price: <input id="unitPrice" name="unitPrice" value="12.95" size="4"/>
    <br />
    Extended Price: <input id="extPrice" name="extPrice" size="4" value="0" />
  
    <div id="submitSpan"> 
       <input type="button" value="Add to cart" id="submitButton" name="submitButton" 
              onclick="sendOrder()">
    </div>
  </form>
  
  </body>
  </html>
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.