Content

Page tree

Hi,

ich versuche die Action Url meines Snom D 715 zu schreiben. Lesen klappt einwandfrei, aber wenn ich schreibe geht es seltsam schief. Ich bekomme die laut Wiki korrekte Antwort zurück, allerdings ersetzt das Telefon alle = durch : und alle & durch Zeilenumbrüche. da ich versuche eine URL der Form: http://[url]/?mac=$mac&local=$local&remote=$remote&call-id=$call-id&display_local=$display_local&display_remote=$display_remote zu schreiben, ist dies äußerst unpraktisch. 


Ich schreibe meine Anwendung in c#. Dies ist mein Code um die Einstellung an das Telefon zu übertragen:

HttpClient client = new HttpClient(new HttpClientHandler { Credentials = new NetworkCredential(user, pw) });

string xml = $"<SOAP-ENV:Envelope\r\nxmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"\r\n" +
    "xmlns:csta=\"http://www.ecma-international.org/standards/ecma-323/csta/ed4\">\r\n" +
    $"<SOAP-ENV:Body>\r\n" +
    $"<csta:SetSettings>\r\n" +
    $"        <csta:Setting>\r\n" +
    $"           <csta:name>\r\n" +
    $"           {key}\r\n" +
    $"           </csta:name>\r\n" +
    $"           <csta:value>\r\n" +
    $"           {value}\r\n" +
    $"           </csta:value>\r\n" +
    $"        </csta:Setting>" +
    $" </csta:SetSettings>\r\n" +
    $"</SOAP-ENV:Body>\r\n</SOAP-ENV:Envelope>";
         
var httpContent = new StringContent(xml, Encoding.UTF8, "text/xml");

try
{
  var response = await client.PostAsync($"http://{adminuser}:{password}@{m.Ip}/csta", httpContent);

    var responseXML = await response.Content.ReadAsStringAsync();

    XmlDocument doc = new XmlDocument();
    doc.LoadXml(responseXML);

  XmlNodeList settingNodes = doc.GetElementsByTagName("csta:SetSettingsResponse"); //<- enthält die Antwort laut Wiki, aber keine Subnodes

}
catch (Exception ex){}


Ich habe schon versucht die = und & durch HTML-Ersetzungen oder %34 etc. zu ersetzen, aber das bringt leider nichts.


Ich wäre für Input sehr dankbar.


Viele Grüße

Florian


profilePicture

Florian Liegsalz

End user

Joined: 13.04.2022