0
Я пытаюсь преобразовать следующее в C# без большой удачи.PHP Curl to C# Webclient/HTTPRequest
<?php
$data = '<xml>my xml request here</xml>';
$tuCurl = curl_init();
curl_setopt($tuCurl, CURLOPT_URL, "http://myendpoint");
curl_setopt($tuCurl, CURLOPT_PORT , 443);
curl_setopt($tuCurl, CURLOPT_VERBOSE, 0);
curl_setopt($tuCurl, CURLOPT_HEADER, 0);
curl_setopt($tuCurl, CURLOPT_POST, 1);
curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($tuCurl, CURLOPT_POSTFIELDS, $data);
curl_setopt($tuCurl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml","SOAPAction: \"/soap/action/query\"", "Content-length: ".strlen($data)));
Ниже приведено то, что я придумал, но я не получаю ожидаемого результата. Есть ли что-то, что я просто пропустил в своем C#?
using (var client = new System.Net.WebClient())
{
var data = new NameValueCollection();
data.Add("", "my xml here");
var result = client.UploadValues("my endpoint here", data);
var str = Encoding.UTF8.GetString(result);
}
Вы не посылала никаких заголовков. Ваше преобразование кажется неполным. – Matthew
Я попытался добавить следующее: client.Headers.Add («Content-Type», «text/xml»); client.Headers.Add ("SOAPAction", "/ soap/action/query"); client.Headers.Add («Content-length», document.InnerXml.Length.ToString()); – aherrick
Мой главный вопрос: почему нет «ключа» для атрибута $ data. Словарь ключа/значения – aherrick