Zend 框架 Soap WSDL
我有一个使用 PHP/Zend Framework SOAP 的可用 SOAP 服务。我遇到的问题是 WSDL 需要实现“xsd:decimal”而不是“xsd:int”。
对以下代码片段使用 AutoDiscovery 方法:
/* @var decimal */
public $prize;
返回以下错误:
无法添加不是对象或在“DefaultComplexType”策略中找不到类的复杂类型小数。
使用类映射似乎并不能解决问题。有没有办法将“xsd:decimal”与自动发现方法一起使用?
以下代码片段工作正常,但在 WSDL 中显示“xsd:int”:
/* @var int */
public $prize
I have a working SOAP service that uses PHP/Zend Framework SOAP. The problem I am having is the WSDL needs to implement "xsd:decimal" instead of "xsd:int".
Using the AutoDiscovery method on the following snippet:
/* @var decimal */
public $prize;
returns the following error:
Cannot add a complex type decimal that is not an object or where class could not be found in 'DefaultComplexType' strategy.
Using a class map doesn't seem to fix the issue. Is there any way to use "xsd:decimal" with the AutoDiscovery method?
The following snippet works fine, but shows "xsd:int" in the WSDL:
/* @var int */
public $prize
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 float
PHP 浮点数和双精度 <-> xsd:浮动。
use float
PHP floats and doubles <-> xsd:float.
你不能使用小数。
但是您是否尝试过使用名为“十进制”的复杂类型来映射到浮点数?
您还需要定义正确的自动发现策略:
You can't use decimal.
But have you tried using a complex type named decimal, that maps to a float?
You need also to define the correct autodiscover strategy: