现在我做这样的事情:
import org.hibernate.annotations.Type
...
@Type(type="org.hibernate.type.UUIDCharType")
private UUID uuid;
现在,当我将SoapVar包装到我自己的类(空类,没有主体)中时,就像这样:
$xmlVar = [..];
$var = new \SoapVar([$xmlVar], SOAP_ENC_OBJECT)
$client->__soapCall('functionName', [$var], null, [$header]);
并将上述代码更改为:
class SVar extends \SoapVar { }
我收到错误消息:$xmlVar = [..];
$var = new SVar([$xmlVar], SOAP_ENC_OBJECT)
$client->__soapCall('functionName', [$var], null, [$header]);
。
我正在比较两种情况下的SOAP-ERROR: Encoding: object has no 'someProperty' property
,唯一的区别是类名。两者都包含完全相同的值。为什么将\ SoapVar包装到空对象中不起作用? SOAP是否在内部检查确切的类型,如果不是完全正确的SoapVar,它会将其视为StdObject还是什么?
我在print_r($var)
上尝试了完全相同的方法,但没有问题。