我开发了一个带有SOAP WebService(带有PHP SoapServer类)的Symfony2应用程序,用于接收第三个应用程序的数据,现在我正在为用户界面开发一个带有FOSRestBundle的API。问题是,使用我为REST包设置的配置,我的SOAP WebService不起作用,抛出以下错误:
'第7行'FOS \ RestBundle \ EventListener \ BodyListener'收到无效的xml邮件(400 Bad Request)'。
这是我的FOSRestBundle配置:
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
view:
view_response_listener: 'force'
formats:
xml: true
json : true
templating_formats:
html: true
force_redirects:
html: true
failed_validation: HTTP_BAD_REQUEST
default_engine: twig
routing_loader:
default_format: json
serializer:
serialize_null: true
如果我将body_listener设置为false,那么SOAP WebService工作正常,但我需要将其设置为true以用于我的RESTful API PUT请求。我尝试了不同的配置组合,但我无法解决问题。
提前感谢您的帮助。
答案 0 :(得分:0)
bodylistener中的以下行不返回数组,这就是它失败的原因:
$data = $decoder->decode($content, $format);
请求的标头无效或您发送的内容格式不正确。