Laravel пустой запрос

Я пытаюсь выяснить работу с xml-rpc с Laravel 5.4
Я использую Open HttpRequester для отправки XML-запроса в Laravel,
Возвращает код состояния 200 OK, но я не могу обработать данные запроса.

Я получил запрос, направленный к контроллеру только с одним методом (testMethod), со следующим содержанием:

public function testMethod(Request $request) {
$req = xmlrpc_decode_request($request, $method);
print_r($req);
print_r($request->toArray());
}

мой XML выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>testMethod</methodName>
<params>
<param>
<value>
<string>Test value 1</string>
</value>
</param>
</params>
</methodCall>

этот запрос возвращает только пустой массив.

Что я делаю неправильно?

РЕДАКТИРОВАТЬ:

Добавляем дополнительный код.

Маршрут:

Route::post('/request', 'RequestController@testMethod');

Необработанный запрос:

POST http://localhost/laratest/public/index.php/request
User-Agent: /
Host: localhost
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>testMethod</methodName>
<params>
<param>
<value>
<string>Test value 1</string>
</value>
</param>
</params>
</methodCall>

ответ:
(Я использую Open HttpRequester для просмотра ответа)
режим браузера: []

режим открытого текста:

Sfdump = window.Sfdump || (function (doc) {var refStyle = doc.createElement (‘style’), rxEsc = /([.*+?^$ average‹()|[]/\])/g, idRx = / \ bsf-dump — \ d + -ref [012] \ w + \ b /, keyHint = 0 <= navigator.platform.toUpperCase (). indexOf (‘MAC’)? ‘Cmd’: ‘Ctrl’, addEventListener = function (e, n, cb) {e.addEventListener (n, cb, false); }; (doc.documentElement.firstElementChild || doc.documentElement.children [0]). appendChild (refStyle); if (! doc.addEventListener) {addEventListener = function (element, eventName, callback) {element.attachEvent (‘on’ + eventName, function (e) {e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; обратный вызов (e);}); }; } функция toggle (a, recursive) {var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (‘sf-dump-compact’ == oldClass) {arrow = ‘▼’; newClass = ‘sf-dump-extended’; } else if (‘sf-dump-extended’ == oldClass) {arrow = ‘▶’; newClass = ‘sf-dump-compact’; } else {return false; } a.lastChild.innerHTML = arrow; s.className = newClass; if (recursive) {try {a = s.querySelectorAll (‘.’ + oldClass); для (с = 0; с < a.length; ++ s) {if (a [s] .className! == newClass) {a [s] .className = newClass; a [s] .previousSibling.lastChild.innerHTML = стрелка; }}} catch (e) {}} return true; }; return function (root, x) {root = doc.getElementById (root); var indentRx = new RegExp (‘^ (‘ + (root.getAttribute (‘data-indent-pad’) || ») .replace (rxEsc, ‘\ $ 1’) + ‘) +’, ‘m’), options = {«maxDepth»: 1, «maxStringLength»: 160, «fileLinkFormat»: false}, elt = root.getElementsByTagName (‘A’), len = elt.length, i = 0, s, h, t = [ ]; в то время как я < len) t.push (elt [i ++]); для (я в х) {параметры [я] = х [я]; } function a (e, f) {addEventListener (root, e, function (e) {if (‘A’ == e.target.tagName) {f (e.target, e);} иначе if (‘A’) == e.target.parentNode.tagName) {f (e.target.parentNode, e);} иначе if (e.target.nextElementSibling && ‘A’ == e.target.nextElementSibling.tagName) {f (e.target.nextElementSibling, e, true); }}); }; function isCtrlKey (e) {return e.ctrlKey || e.metaKey; } addEventListener (root, ‘mouseover’, function (e) {if (»! = refStyle.innerHTML) {refStyle.innerHTML = »;}}); a (‘mouseover’, function (a, e, c) {if (c) {e.target.style.cursor = «pointer»;} иначе if (a = idRx.exec (a.className)) {try { refStyle.innerHTML = ‘pre.sf-dump.’ + a [0] + ‘{background-color: # B729D9; цвет: #FFF! важно; border-radius: 2px}’;} catch (e) {}} }); a (‘click’, function (a, e, c) {if (/\bsf-dump-toggle\b/.test(a.className)) {e.preventDefault (); if (! toggle (a, isCtrlKey) (e))) {var r = doc.getElementById (a.getAttribute (‘href’). substr (1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild ( r, a); f.replaceChild (a, s); t.insertBefore (s, r); f = f.firstChild.nodeValue.match (indentRx); t = t.firstChild.nodeValue.match (indentRx); если (е && T && f [0]! == t [0]) {r.innerHTML = r.innerHTML.replace (новый RegExp (‘^’ + f [0] .replace (rxEsc, ‘\ $ 1’), ‘mg’), т [0]); } if (‘sf-dump-compact’ == r.className) {toggle (s, isCtrlKey (e)); }} if (c) {} else if (doc.getSelection) {try {doc.getSelection (). removeAllRanges (); } catch (e) {doc.getSelection (). empty (); }} else {doc.selection.empty (); }} else if (/\bsf-dump-str-toggle\b/.test(a.className)) {e.preventDefault (); e = a.parentNode.parentNode; e.className = e.className.replace (/ sf-dump-str- (раскрыть | свернуть) /, a.parentNode.className); }}); elt = root.getElementsByTagName (‘SAMP’); len = elt.length; я = 0; в то время как я < len) t.push (elt [i ++]); длина = длина; для (я = 0; я < Len; ++ i) {elt = t [i]; if (‘SAMP’ == elt.tagName) {elt.className = ‘sf-dump-extended’; a = elt.previousSibling || {}; if (‘A’! = a.tagName) {a = doc.createElement (‘A’); a.className = ‘sf-dump-ref’; elt.parentNode.insertBefore (a, elt); } else {a.innerHTML + = »; } a.title = (a.title? a.title + ‘\ n [‘: ‘[‘) + keyHint + ‘+ click] Expand all children’; a.innerHTML + = ‘▼’; a.className + = ‘sf-dump-toggle’; х = 1; if (‘sf-dump’! = elt.parentNode.className) {x + = elt.parentNode.getAttribute (‘data-глубина’) / 1; } elt.setAttribute (‘data-глубина’, x); if (x> options.maxDepth) {toggle (a); }} else if (‘sf-dump-ref’ == elt.className && (a = elt.getAttribute (‘href’))) {a = a.substr (1); elt.className + = » + a; if (/[[]]$/.test(elt.previousSibling.nodeValue)) {a = a! = elt.nextSibling.id && doc.getElementById (а); try {s = a.nextSibling; elt.appendChild (а); s.parentNode.insertBefore (a, s); if (/^[@#]/.test(elt.innerHTML)) {elt.innerHTML + = ‘▶’; } else {elt.innerHTML = ‘▶’; elt.className = ‘sf-dump-ref’; } elt.className + = ‘sf-dump-toggle’; } catch (e) {if (‘&’== elt.innerHTML.charAt (0)) {elt.innerHTML =’… ‘; elt.className = ‘sf-dump-ref’; }}}}} if (0> = options.maxStringLength) {return; } try {elt = root.querySelectorAll (‘. sf-dump-str’); len = elt.length; я = 0; т = []; в то время как я < len) t.push (elt [i ++]); длина = длина; для (я = 0; я < Len; ++ i) {elt = t [i]; s = elt.innerText || elt.textContent; x = s.length — options.maxStringLength; если (0 < x) {h = elt.innerHTML; elt [elt.innerText? ‘innerText’: ‘textContent’] = s.substring (0, options.maxStringLength); elt.className + = ‘sf-dump-str-collapse’; elt.innerHTML = » + h + ‘◀’ + » + elt.innerHTML + ‘▶’; }}} catch (e) {}}; })(документ); pre.sf-dump {display: block; пробел: предварительно; обивка: 5px; } pre.sf-dump span {display: inline; } pre.sf-dump .sf-dump-compact {display: none; } pre.sf-dump abbr {text-ornament: none; граница: нет; курсор: помощь; } pre.sf-dump a {text-украшение: нет; курсор: указатель; граница: 0; контур: нет; цвет: наследовать; } pre.sf-dump .sf-dump-ellipsis {display: inline-block; переполнение: видимое; переполнение текста: многоточие; максимальная ширина: 5em; пустое пространство: nowrap; переполнение: скрытое; выравнивание по вертикали: верх; } pre.sf-dump code {display: inline; обивка: 0; фон: нет; } .sf-dump-str-collapse .sf-dump-str-collapse {display: none; } .sf-dump-str-expand .sf-dump-str-expand {display: none; } pre.sf-dump, pre.sf-dump .sf-dump-default {background-color: #fff; цвет: # 222; высота строки: 1.2em; начертание шрифта: нормальный; шрифт: 12px Monaco, Consolas, monospace; перенос слов: брейк-слово; пустое пространство: предварительная упаковка; позиция: относительная; z-index: 100000} pre.sf-dump .sf-dump-num {color: # a71d5d} pre.sf-dump .sf-dump-const {color: # 795da3} pre.sf-dump .sf-dump- str {color: # df5000} pre.sf-dump .sf-dump-cchr {color: # 222} pre.sf-dump .sf-dump-note {color: # a71d5d} pre.sf-dump .sf-dump -ref {color: # a0a0a0} pre.sf-dump .sf-dump-public {color: # 795da3} pre.sf-dump .sf-dump-protected {color: # 795da3} pre.sf-dump .sf- dump-private {color: # 795da3} pre.sf-dump .sf-dump-meta {color: # b729d9} pre.sf-dump .sf-dump-key {color: # df5000} pre.sf-dump .sf -dump-индекс {цвет: # a71d5d} [] Sfdump ( «SF-свалка-2001561441»)

1

Решение

Я думаю, что вы можете использовать $request->getContent(); если вы публикуете необработанные данные

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]