Search Engine: Elastic

Article ID: 131011, created on Jun 16, 2017, last review on Jun 20, 2017

  • Applies to:
  • Operations Automation 7.0
  • Operations Automation 7.1
  • Operations Automation 6.0

Symptoms

Office 365 and Azure subdomain form from KB#128486 shows a false positive result, e.g. a check for "contoso.onmicrosoft.com" is successful despite the fact that that domain is already occupied.

Network tab in browser debugger console shows a request to Yahoo that contains the warning:

html table is no longer supported.

Note: it may affect any version of OSA since it is related to the subdomain form which is part of O365/Azure APS package.

Cause

Yahoo recently changed their APIs, so the original mechanism used by sudomain form no longer works.

The issue will get permanently addressed in scope of request with internal ID APSA-18370.

Resolution

Subdomain Form for OA Control Panel:

  1. On the BA Application server find `script.js files which are located at:

    /usr/local/bm/conf/html/o365 - Office 365 16.8.3 or higher

    /usr/local/bm/conf/html/azure - Azure CSP 3.x and Office 365 16.8.2 or lower.

  2. Locate the line:

    $.getJSON("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url='" + encodeURIComponent(url) + "'&format=json&callback=?", function (data) {
    

    replace it with the line:

    $.getJSON("https://query.yahooapis.com/v1/public/yql?q=select%20IDPSSODescriptor.SingleLogoutService%20from%20xml%20where%20url='" + encodeURIComponent(url) + "'&format=json&callback=?", function (data) {
    

Online Store:

  1. For each affected store, locate the layout template containing the subdomain form:

    • o365_provision - Office 365 application
    • azure_provision - Azure CSP application
  2. Delete the layout templates.
  3. Create the layout templates again, following the instructions for the required version (see KB127370 for details).
  4. Find the following string in the mentioned layout templates:

    jQuery.getJSON("https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url='" + encodeURIComponent(url) + "'&format=json&callback=?", function (data) {
    

    replace it with the line:

    jQuery.getJSON("https://query.yahooapis.com/v1/public/yql?q=select%20IDPSSODescriptor.SingleLogoutService%20from%20xml%20where%20url='" + encodeURIComponent(url) + "'&format=json&callback=?", function (data) {
    
  5. Synchronize the store.

5356b422f65bdad1c3e9edca5d74a1ae caea8340e2d186a540518d08602aa065 e12cea1d47a3125d335d68e6d4e15e07 956c448bddc7e1f3585373687602379f 6f1456866eed87488c0f02b298a741c0 0871c0b47b3b86ae3b1af4c2942cd0ce 1941880841f714e458ae4dc3d9f3062d 8c199f0ee4305da1a577740620df4a51

Email subscription for changes to this article
Save as PDF