'Cannot determine what is wrong with this action. Input Parameter is null

Using the following results in a null input error. Through debugging the plugin the input parameter is not being passed. Any ideas? I've done hundreds of these but never seen this type of issue.

tdn_GetFoxhoundNotesRequest = function (contactId) {
  this.ContactId = contactId;
};
tdn_GetFoxhoundNotesRequest.prototype.getMetadata = function () {
    return {
        boundParameter: null,
        parameterTypes: {
            "ContactId": {
                "typeName": "Edm.String",
                "structurualProperty": 1
            }
        },
        operationType: 0,
        operationName: "tdn_GetFoxhoundNotes"
    };
};
function LoadNotes(executionContext) {
    var formContext = executionContext.getFormContext();
    var contactId = formContext.data.entity.getId().replace("{", "").replace("}", "");
    var request = new tdn_GetFoxhoundNotesRequest(contactId);
   
    Xrm.WebApi.online.execute(request).then(
        function success(result) {
            if (result.ok) {
                {
                    result.json().then(function (response) {
                        formContext.getAttribute("tdn_foxhoundnotestextblob").setValue(response.Notes);
                        formContext.getAttribute("tdn_foxhoundnotestextblob").setSubmitMode('never');
                    })
                }
            }
        },
        function (error) {
            Xrm.Utility.alertDialog(error.message);
        });
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source