I created a code unit using .Net that uses http post to call web services. I am sure you can adapt it to fit your needs.
OBJECT Codeunit 50098 Call To Webservice
{
OBJECT-PROPERTIES
{
Date=06/27/14;
Time=[ 7:38:56 AM];
Modified=Yes;
Version List=;
}
PROPERTIES
{
OnRun=BEGIN
END;
}
CODE
{
VAR
;
PROCEDURE fncSendToWebservice@1000000011(xml@1000000000 : Text[1000];url@1000000001 : Text[1000];soapActionUrl@1000000002 : Text[1000]) : Text[1000];
VAR
sb@1000000003 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Text.StringBuilder";
uriObj@1000000004 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Uri";
lgRequest@1000000005 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Net.HttpWebRequest";
stream@1000000006 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.StreamWriter";
lgResponse@1000000007 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Net.HttpWebResponse";
str@1000000008 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.IO.Stream";
reader@1000000009 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlTextReader";
document@1000000010 : DotNet "'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument";
ascii@1000000011 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Text.Encoding";
credentials@1000000012 : DotNet "'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Net.CredentialCache";
BEGIN
sb := sb.StringBuilder();
sb.Append('<soap:Envelope xmlns:xsi="www.w3.org/.../XMLSchema-instance" xmlns:xsd="www.w3.org/.../XMLSchema" xmlns:soap="schemas.xmlsoap.org/.../"><soap:Body>&);
sb.Append(xml);
sb.Append('</soap:Body></soap:Envelope>');
uriObj := uriObj.Uri(url);
lgRequest := lgRequest.CreateDefault(uriObj);
lgRequest.Method := 'POST';
lgRequest.ContentType := 'text/xml';
lgRequest.Headers.Add('SOAPAction', soapActionUrl);
lgRequest.Credentials := credentials.DefaultCredentials;
lgRequest.Timeout := 120000;
stream := stream.StreamWriter(lgRequest.GetRequestStream(), ascii.ASCII);
stream.Write(sb.ToString());
stream.Close();
lgResponse := lgRequest.GetResponse();
str := lgResponse.GetResponseStream();
reader := reader.XmlTextReader(str);
document := document.XmlDocument();
document.Load(reader);
reader.Close();
str.Close();
END;
BEGIN
END.
}
}