SoapUI空响应

时间:2014-10-16 10:14:45

标签: web-services symfony soap soapui

我开发了一个symfony2 SOAP Web服务。这不是完整的symfony2安装,我们挑选了我们喜欢的应用程序 - 或者更真实的是那些实际使用代码库的应用程序。

  • 我按照步骤创建了symfony SOAP webservice
  • 我创建了一个我从CLI执行的测试文件。
  • 因为它是所有PHP我使用的是内部SOAPServer / SOAPClient-classes

我的工作得很好。我还设法用基本身份验证锁定应用程序。足够的背景。

我安装了SoapUI以进行其他测试。公开曝光的方法显示得很好。 “HelloWorld”不需要任何输入,但响应始终为空。 soapui日志中没有任何价值。 HTTP代码响应200。

认为端点是正确的,它没有滑到https或不同的端口。

我很困惑。为什么在运行php-client而不是soapUI时才能正常工作?

修改

我正在使用Symfony..Response类来返回数据。当我更改标题(Response :: headers :: set)时,它们会传递给soapUI。

编辑2:

如果我var_dump Symfony响应对象,则内容为空(长度为0)。尽管如此,如上所述,soapClient将响应作为有效的soap消息返回。

当绕过symfony的响应对象(和路由控制器)时,soapUI会得到正确的响应。

发生了什么事?

1 个答案:

答案 0 :(得分:0)

通过几个步骤找到解决方案。

首先将路由文件设置为此

THE_Service:
  path: /THE/{service}
  defaults: { _controller: '..path/to/controller:method' }

...并且/ THE没有路由 - 这是正在处理的实际路径。

并且(这还没有得到妥善解决)由于某种原因,(动态创建的)wsdl文件中的端点在末尾有一个额外的斜杠,而.htaccess中的重写规则导致301,从而掉线POST数据。 (我不知道这是不是这样)。