Search

An Independent ServiceNow Blog

Tag

SOAP

SOAP Vs. REST: Difference between Web API Services

ServiceNow – How to control what comes back in the SOAP response with a View

TY! Good Stuff!

Techie Geek

Recently I have been getting a lot of questions and request about an old Knowledge presentation (concerning how we use views) to control a SOAP response. It may be best to blog it here and share.

First thing is first, lets create a special view on the incident table that only has number and short description and updated date. NOTE here: You want to create a view on the Incident Form if you are going to be getting an individual incident. There is a different list view when getting list. If you are getting list of incidents you would personalize the List Layout instead of the Form Layout in steps below.

Step 1: Open an Incident and Personalize Form Layout
Step 2: In the drop down section of the view select New (and give it a name).
Step 3: With your form view selected – pick the data you want…

View original post 414 more words

Advertisements

Dealing with XML API – Parsing the SOAP response

Techie Geek

Not gonna really try and show off anything here – but the documentation for XML API is a bit foggy and I want to share this. I tried to use a few common XML API calls that are a bit of a challenge to find out about.

Lets pretend you get a SOAP response and you want to manually iterate through that response envelope that has this structure:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <ns0:Root xmlns:ns0="http://Schemas.SNResponse_RigData">
         <Status>Success</Status>
         <RigData>Whatever</RigData>
      </ns0:Root>
   </s:Body>
</s:Envelope>

Here are a few API calls you will need:

      this.fSoapDoc = new XMLDocument(requestXML);
      var soapBody = this.fSoapDoc.getNode("/Envelope/Body/Root");

      var nodelist = soapBody.getChildNodes();
      for (var i=0; i < nodelist.getLength(); i++) {
          var kidNode = nodelist.item(i);
          if (kidNode.getNodeType() == Packages.org.w3c.dom.Node.ELEMENT_NODE) {
            var fieldName = Packages.com.glide.util.XMLUtil.getNodeNameNS(kidNode);
            var fieldValue = Packages.com.glide.util.XMLUtil.getAllText(kidNode);
            gs.log("FIELD NAME: " + fieldName, "cmaloy");
            gs.log("FIELD VALUE: " + fieldValue, "cmaloy");
          }         
      }

This is going to get the name and value of the Status…

View original post 47 more words

Powered by WordPress.com.

Up ↑

%d bloggers like this: