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.

Internal content