EDIT
The issue was that I have SUBSCRIBER_KEY functionality turned on for my account, so I need to set the SendableSubscriberField to 'Subscriber Key' or the call will fail.
I have been able to utilize similar SSJS code previously and have mimicked some similar questions from SFSE, but everything I try, winds up with me receiving a 405 Error Method Not Allowed.
If anyone can help me find what I am missing/forgetting to do/doing wrong in the below snippet, it would be GREATLY appreciated.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script runat="server">
Platform.Load("core", "1");
var user = 'User';
var pass = 'Pass';
var payload = '';
var endpoint = 'https://webservice.exacttarget.com/Service.asmx'
var result;
// Create SOAP Call
payload += '<?xml version="1.0" encoding="UTF-8"?>';
payload += '<Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">';
payload += ' <Header>';
payload += ' <Action mustUnderstand="1">Create</Action>';
payload += ' <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">';
payload += ' <UsernameToken>';
payload += ' <Username>' + user + '</Username>';
payload += ' <Password>' + pass + '</Password>';
payload += ' </UsernameToken>';
payload += ' </Security>';
payload += ' </Header>';
payload += ' <Body>';
payload += ' <CreateRequest xmlns="http://exacttarget.com/wsdl/partnerAPI" >';
payload += ' <Options></Options>';
payload += ' <Objects xmlns:ns1="http://exacttarget.com/wsdl/partnerAPI" xsi:type="ns1:DataExtension">';
payload += ' <CustomerKey>CustomerKey</CustomerKey>';
payload += ' <Name>CustomerKey</Name>';
payload += ' <IsSendable>true</IsSendable>/';
payload += ' <SendableDataExtensionField>';
payload += ' <CustomerKey>EmailAddress_Key</CustomerKey>';
payload += ' <Name>EmailAddress</Name>';
payload += ' <FieldType>EmailAddress</FieldType>';
payload += ' </SendableDataExtensionField>';
payload += ' <SendableSubscriberField>';
payload += ' <Name>Email Address</Name>';
payload += ' <Value></Value>';
payload += ' </SendableSubscriberField>';
payload += ' <Fields>';
payload += ' <Field>';
payload += ' <CustomerKey>EmailAddress_Key</CustomerKey>';
payload += ' <Name>EmailAddress</Name>';
payload += ' <FieldType>EmailAddress</FieldType>';
payload += ' </Field>';
payload += ' <Field>';
payload += ' <CustomerKey>ChannelUser_Key</CustomerKey>';
payload += ' <Name>ChannelUser</Name>';
payload += ' <FieldType>Text</FieldType>';
payload += ' </Field>';
payload += ' </Fields> ';
payload += ' </Objects> ';
payload += ' </CreateRequest>';
payload += ' </Body>';
payload += '</Envelope>';
try {
result = HTTP.Post(endpoint, "text/xml", payload, ["SOAPAction"], ["Create"]);
} catch (e) {
Write(Stringify(e));
}
Write(Stringify(result));
</script>
</body>
</html>