کار با وب سرویس جاوایی تشخیص ایمیلهای موقتی در دات نت
نویسنده: وحید نصیری
تاریخ: ۱۳۹۳/۱۰/۲۷ ۱۲:۴۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
var client = new SoapDisposableEmailAddressDetectorClient();
var context = new soapContext
{
//todo: get your API key here: http://www.nameapi.org/en/register/
apiKey = "test"
};
var result = client.isDisposable(context, "DaDiDoo@mailinator.com");
if (result.disposable.ToString() == "YES")
{
Console.WriteLine("YES! It's Disposable!");
} Additional information: The remote server returned an unexpected response: (400) Bad Request.
<html><head><title>Bad Request</title></head><body><h1>Bad Request</h1><p>No api-key provided!</p></body></html>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://disposableemailaddressdetector.email.services.v4_0.soap.server.nameapi.org/">
<SOAP-ENV:Body>
<ns1:isDisposable>
<context>
<apiKey>test</apiKey>
</context>
<emailAddress>sdsdg@site.com</emailAddress>
</ns1:isDisposable>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<isDisposable xmlns="http://disposableemailaddressdetector.email.services.v4_0.soap.server.nameapi.org/">
<context xmlns=""><apiKey>test</apiKey></context>
<emailAddress xmlns="">DaDiDoo@mailinator.com</emailAddress>
</isDisposable>
</s:Body>
</s:Envelope> public class EndpointBehavior : IEndpointBehavior
{
public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters)
{ }
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{ }
public void Validate(ServiceEndpoint endpoint)
{ }
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
{
clientRuntime.MessageInspectors.Add(new ClientMessageInspector());
}
}
public class ClientMessageInspector : IClientMessageInspector
{
public void AfterReceiveReply(ref Message reply, object correlationState)
{ }
public object BeforeSendRequest(ref Message request, System.ServiceModel.IClientChannel channel)
{
request = new MyCustomMessage(request);
return request;
}
}
/// <summary>
/// To customize WCF envelope and namespace prefix
/// </summary>
public class MyCustomMessage : Message
{
private readonly Message _message;
public MyCustomMessage(Message message)
{
_message = message;
}
public override MessageHeaders Headers
{
get { return _message.Headers; }
}
public override MessageProperties Properties
{
get { return _message.Properties; }
}
public override MessageVersion Version
{
get { return _message.Version; }
}
protected override void OnWriteStartBody(XmlDictionaryWriter writer)
{
writer.WriteStartElement("Body", "http://schemas.xmlsoap.org/soap/envelope/");
}
protected override void OnWriteBodyContents(XmlDictionaryWriter writer)
{
_message.WriteBodyContents(writer);
}
protected override void OnWriteStartEnvelope(XmlDictionaryWriter writer)
{
writer.WriteStartElement("SOAP-ENV", "Envelope", "http://schemas.xmlsoap.org/soap/envelope/");
writer.WriteAttributeString("xmlns", "ns1", null, value: "http://disposableemailaddressdetector.email.services.v4_0.soap.server.nameapi.org/");
}
} var client = new SoapDisposableEmailAddressDetectorClient(); client.Endpoint.Behaviors.Add(new EndpointBehavior());
//todo: get your API key here: http://www.nameapi.org/en/register/