4 Replies Latest reply: Oct 21, 2013 6:07 AM by user7305479 RSS

    OEDQ Supported AV Tools

    user7305479

      Hi,

       

      Please some one let me know OEDQ Supported AV tools except Loqate and QAS.

       

      Thanks in advance.

       

      Regards

      Moorthy

        • 1. Re: OEDQ Supported AV Tools
          Mike-Matthews-Oracle

          The three AV providers for which EDQ provides connectors are:

           

          - EDQ AV (Loqate) - preferred

          - Experian QAS Batch API

          - Capscan Matchcode

           

          In some cases, customers have integrated with other providers via web service callouts mid-process (real-time) or by file handover (batch).

           

          Regards,

           

          Mike

          • 2. Re: OEDQ Supported AV Tools
            user7305479

            Thanks a lot Mike. Is there any reference document which will help me to invoke external web services?

             

            Regards

            Moorthy

            • 3. Re: OEDQ Supported AV Tools
              Mike-Matthews-Oracle

              Calling external web services is generally done in EDQ using a Script processor (where the script used depends on the interface of the web service). Note that the Script processor is confined to a single output, so normally if multiple attributes are returned they are returned in an array attribute and split subsequently. If you need to do something more advanced than this, you will need to write a new processor in EDQ - we can provide assistance with this if necessary.

               

              It is easier to illustrate the Script approach by example.

               

              Below is an example of a callout to a sample postcode lookup service from GeoNames.org. This is a Script processor that takes three inputs (postalcode and country string attributes and a maxresults number attribute). It returns the results in an array.

               

              addLibrary("http");

               

              function GetValue(content, name) {

               

                var value = "";

                var startPos = content.indexOf("<" + name + ">");

                if (startPos > -1) {

                    var endPos = content.indexOf("</" + name + ">", startPos);

                  value = content.substring(startPos + name.length + 2, endPos);

                }

               

                return value;

               

              }

               

              function GetCDATAValue(content, name) {

               

                var value = GetValue(content, name);

                if (value.indexOf("<![CDATA[") == 0)

                  return value.substr(9, value.length - 12);

                else

                    return value;

               

              }

               

              try {

                var result = new Array();

               

                var url = "http://api.geonames.org/postalCodeSearch?postalcode=" + input1[0] + "&country=" + input1[1] + "&maxRows=" + input1[2] + "&username=demo";

                var xmlHttp = new XMLHttpRequest();

                xmlHttp.open("GET", url, false);

                xmlHttp.send();

               

                var response = "" + xmlHttp.responseXML;

                var startPos = response.indexOf("<code>");

               

                while (startPos > -1) {

                    var endPos = response.indexOf("</code>", startPos);

                    var record = response.substring(startPos, endPos);

               

                  var postalcode = GetValue(record, "postalcode");

                  var name = GetValue(record, "name");

                  var countryCode = GetValue(record, "countryCode");

                  var lat = GetValue(record, "lat");

                  var lng = GetValue(record, "lng");

                  var adminCode1 = GetValue(record, "adminCode1");

                  var adminName1 = GetValue(record, "adminName1");

                  var adminCode2 = GetValue(record, "adminCode2");

                  var adminName2 = GetValue(record, "adminName2");

                  var adminCode3 = GetValue(record, "adminCode3");

                  var adminName3 = GetValue(record, "adminName3");

               

                    result[result.length] = postalcode + "|" +

                      name + "|" +

                      countryCode + "|" +

                      lat + "|" +

                      lng + "|" +

                      adminCode1 + "|" +

                      adminName1 + "|" +

                      adminCode2 + "|" +

                      adminName2 + "|" +

                      adminCode3 + "|" +

                      adminName3;

               

                  var startPos = response.indexOf("<code>", endPos);

                }

               

              } catch (e) {

                result[result.length] = "Error: " + e.toString();

              }

               

              output1 = result;

              • 4. Re: OEDQ Supported AV Tools
                user7305479

                Thanks a lot Mike. Its really useful.

                 

                Regards

                Moorthy