2016-12-17 5 views
1

Dears,Nicht unterstützter Medientyp 415 C# (Senden von SMS)

Guten Tag ...

wenn ich, versuche SMS über "SMS API" zu senden, habe ich die folgende Ausnahme „Nicht unterstützter Medientyp 415 ".

ich das folgende XML-Format von den Service-Provider bekam

System.Net.WebRequest   req = null; 
System.Net.WebResponse   rsp = null; 
System.IO.StreamWriter   writer; 
System.IO.StreamReader   Reader; 
String       responseFromServer; 
String       uri; 
String       txtXMLData; 
String       AccountId; 
String       Password; 
String       SecureHashSecretKey; 
String       SenderName; 
String       MSISDN; 
String       SMSMessage; 
try 
{ 
AccountId    = "xxxxx"; 
Password    = "xxxxx"; 
SecureHashSecretKey  = "xxxxx"; 
SenderName    = "xxxxx"; 
MSISDN     = "xxxxx"; 
SMSMessage    = "Test SMS"; 
uri      = "https://e3len.vodafone.com.eg/web2sms/sms/submit/"; 
        txtXMLData    = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + 
               "<SubmitSMSRequest xmlns:=\"http://www.edafa.com/web2sms/sms/model/\""+ 
               "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""+ 
               "xsi:schemaLocation=\"http://www.edafa.com/web2sms/sms/model/ SMSAPI.xsd \" xsi:type=\"SubmitSMSRequest\">"+ 
               "<AccountId>"+AccountId+"</AccountId>"+ 
               "<Password>"+Password+"</Password>"+ 
               "<SecureHash>"+SecureHashSecretKey+"</SecureHash>"+ 
               "<SMSList>"+ 
               "<SenderName>"+SenderName+"</SenderName>"+ 
               "<ReceiverMSISDN>"+MSISDN+"</ReceiverMSISDN>"+ 
               "<SMSText>"+SMSMessage+"</SMSText>"+ 
               "</SMSList>"+ 
               "</SubmitSMSRequest>"; 
req = System.Net.WebRequest.Create(uri); 
req.Method = "POST"; 
req.ContentType = "text/xml"; 
writer = new System.IO.StreamWriter(req.GetRequestStream()); 
writer.WriteLine (txtXMLData); 
writer.Close(); 

rsp = req.GetResponse(); 

Reader = new System.IO.StreamReader(rsp.GetResponseStream()); 
responseFromServer = Reader.ReadToEnd(); 

rsp.Close(); 
Reader.Close(); 


} 
catch (Exception ex) 
{ 
MessageBox.Show(ex.Message); 

} 

, wenn ich über die "SMS API" versucht, SMS zu senden, bekam ich die folgende Ausnahme "Nicht unterstützten Medientyp 415". Dank in advnace

+0

Unrelated, aber wenn Sie Ihre Disposables in 'using's wickeln würden Sie sie nicht alle nach vorne erklären müssen ... Und immer 'Dispose()' sie (explizit oder über 'using') – pinkfloydx33

Antwort

0

Versuchen Sie, die Content zu application/xml

req.ContentType = "application/xml"; 

Manchmal mit ziemlich streng sein können APIs ändern, was sie zu akzeptieren.

Ich würde auch versuchen, die Accept-Header, dies teilt der API, was Sie auch umgehen können.

req.Accept = "application/xml"; 
+0

wenn ich den Inhaltstyp in" application/xml "änderte, bekam ich die folgende Ausnahme" Der entfernte Server gab eine Fehler (400) schlechte Anfrage zurück " –

+0

Das scheint Sie werden ein wenig weiter ... Können Sie Ihre XML gegen ein XML-Schema validieren? –

0

versuchen, diese es Arbeit für mich in Ordnung @VodaFone

var client = new HttpClient(); 
    var httpContent = new StringContent(txtXMLData, Encoding.UTF8, "application/xml"); 
    var respone = await client.PostAsync(APIUrl, httpContent); 
Verwandte Themen