Необходимо отправить POST запросом XML файл. При получении ответа получаю ошибку java.Lang.NullPointerException. Сначала в XML файле содержались ошибки, сейчас ошибки поправили. Файл должен быть в кодировке windows-1251 и содержать шапку. Совместно с тех.поддержкой выяснили, что запрос приходит пустой. Подскажите пожалуйста, что надо сделать чтобы запрос пришел не пустой?
Вот код моей программы:
namespace ConsoleApp3
{
class Program
{
public static byte[] ReadFully(Stream input)
{
using (MemoryStream rms = new MemoryStream())
{
input.CopyTo(rms);
return rms.ToArray();
}
}
static void Main(string[] args)
{
XDocument xdoc = new XDocument(
new XDeclaration("1.0", "Windows-1251","yes"),
new XElement("product",
new XElement ("prequest",
new XElement("req",
new XElement("AddressReq",
new XElement("houseNumber", "1"),
new XElement ("street","Го"),
new XElement("apartment", "38"),
new XElement("city", "Магадан"),
new XElement("postal", "685"),
new XElement("addressType", "1")),
new XElement("AddressReq",
new XElement("houseNumber", "1"),
new XElement("street", "Го"),
new XElement("apartment", "38"),
new XElement("city", "Магадан"),
new XElement("postal", "685"),
new XElement("addressType", "1")),
new XElement("IdReq",
new XElement("idNum", "273"),
new XElement("idType","21"),
new XElement("seriesNumber", "64"),
new XElement("issueCountry", "г. Магадан"),
new XElement("issueDate", "2006-03-18"),
new XElement("issueAuthority", "ОВД")
),
new XElement("IdReq",
new XElement("idNum", "12345678901"),
new XElement("idType", "32")
),
new XElement("InquiryReq",
new XElement("ConsentReq",
new XElement("consentFlag", "Y"),
new XElement("consentDate", "2016-01-20"),
new XElement("consentExpireDate", "2021-10-21"),
new XElement("consentPurpose", "4"),
new XElement("otherConsentPurpose", "Job pre-screening"),
new XElement("reportUser", "DG Human Resources Incorporated"),
new XElement("liability", "Y")
),
new XElement("inqPurpose", "01"),
new XElement("inqAmount", "10000"),
new XElement("currencyCode", "usd")
),
new XElement("PersonReq",
new XElement("name1", "К"),
new XElement("first", "Г"),
new XElement("paternal", "Г"),
new XElement("gender", "1"),
new XElement("birthDt", "1946-07-06"),
new XElement("placeOfBirth", "Москва")
),
new XElement("RequestorReq",
new XElement("MemberCode", "code"),
new XElement("UserID", "user"),
new XElement("Password", "pass")
),
new XElement("RefReq",
new XElement("product", "CHST")
),
new XElement("IOType","B2B"),
new XElement("OutputFormat", "xml"),
new XElement("lang", "ru")
))
));
MemoryStream stream = new MemoryStream();
xdoc.Save(stream);
WebRequest request = WebRequest.Create("MyUrl");
var byteArray = ReadFully(stream);
request.Method = "POST";
request.ContentType = "text/xml";
request.ContentLength = byteArray.Length;
Stream data = request.GetRequestStream();
data.Write(byteArray, 0, byteArray.Length);
data.Close();
Console.WriteLine("Нажмите клавишу чтобы получить ответ");
Console.ReadKey();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
data = response.GetResponseStream();
StreamReader reader = new StreamReader(data);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
reader.Close();
data.Close();
response.Close();
Console.ReadKey();
}
}
}
Вы и так записали в стрим вот здесь данные
xdoc.Save(stream);
Но, как я понял, вы не двигаете записанный стрим в начало перед чтением
xdoc.Save(stream);
stream.Position = 0;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть база данных, в ней 2 таблицы(category_sklad состоящая из id name и products_sklad состоящая из id name kolvo category_id)Собственно вот что планируется сделать, например...
Всем привет! Отлавливаю ошибку wordpress + ubuntu 1604 , apache2
Я не уверен, отностися ли это полностью к SuiteCRM или к JSON APIВероятно, это что-то посередине