Я ищу способ отправить полезную нагрузку из моего XSL в конечную точку API. Полезная нагрузка слишком велика для GET (что я смог сделать в XSL), поэтому мне нужно, чтобы это был POST.
Расширение http-клиента EXPath мне недоступно, но Saxon позволяет вызывать функции .NET или Java.
Я не разработчик .NET, но я использовал вариант этого фрагмента кода, приведенного ниже, через Windows Workflow Foundation и тот подчиняется нормально. Я подумал, что, возможно, я мог бы преобразовать его в дружественный к Saxon XSLT, чтобы добиться того же самого.
Код: Выделить всё
var url = "https://httpbin.org/post";
var client = new HttpClient;
var content = new StringContent(payload, System.Text.Encoding.UTF8,"application/json");
var response = await client.PostAsync(url, content);
Используя В качестве справочной документации Saxonica, наряду с другими примерами XSLT, которые у нас есть внутри, я начал писать это:
Код: Выделить всё
Я также попробовал ChatGPT, чтобы посмотреть, даст ли он мне несколько идей. Он дал мне похожие примеры, и все они тоже выдают сообщение «Невозможно найти функцию X-аргумента в...». Вот какой код он мне дал:
Код: Выделить всё
Response:
Мне действительно нужно иметь возможность отправить часть моих XML-данных во внешний API, но я не могу добавить какие-либо дополнительные библиотеки к моему процессору XSLT или Saxon.
Любые предложения приветствуются.
Подробнее здесь: https://stackoverflow.com/questions/791 ... -from-saxo