using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Activities;
using System.Net;
using System.IO;
namespace MDM.Workflow.Activities.Core
{
public class WebServicesCall : CodeActivity<string>
{
public InArgument<string> WebRequestUrl { get; set; }
public InArgument<string> SoapIn { get; set; }
public InArgument<string> SoapAction { get; set; }
public InArgument<string> ContentType { get; set; }
public InArgument<string> Accept { get; set; }
public InArgument<string> Method { get; set; }
protected override string Execute(CodeActivityContext context)
{
string ResponseText;
HttpWebRequest HttpWebRequest1 = (HttpWebRequest)WebRequest.Create(WebRequestUrl.Get(context));
HttpWebRequest1.Headers.Add("SOAPAction", SoapAction.Get(context));
HttpWebRequest1.ContentType = ContentType.Get(context);
HttpWebRequest1.Accept = Accept.Get(context);
HttpWebRequest1.Method = Method.Get(context);
HttpWebRequest1.AuthenticationLevel = System.Net.Security.AuthenticationLevel.None;
if ("post" == HttpWebRequest1.Method.ToLower())
{
using (Stream RequestStream = HttpWebRequest1.GetRequestStream())
using (StreamWriter RequestStreamWriter = new StreamWriter(RequestStream))
RequestStreamWriter.Write(SoapIn.Get(context));
}
WebResponse WebResponse1 = HttpWebRequest1.GetResponse();
using (StreamReader ResponseStreamReader = new StreamReader(WebResponse1.GetResponseStream(), System.Text.Encoding.UTF8, true))
ResponseText = ResponseStreamReader.ReadToEnd();
return ResponseText;
}
}
}
Comments
Post a Comment