如何在 PHP 中从 SOAP Web Service 的 WSDL 创建对象



我正在尝试用PHP调用Web服务。它工作正常,但我有一个函数,它抛出了一个NullReferenceException.函数参数是 Web 服务的类,在 WSDL 文件中定义。在 C# 中,我可以创建这些类的实例,然后可以使用该方法传递这些实例。这就像预期的那样工作,但在 PHP 中我无法像在 C# 中那样创建类的这些实例。

我尝试从 WSDL 创建类的实例:

$myinstance1 = new SoapVar($content, SOAP_ENC_OBJECT, "Class1Name", $url_WSDL);
$myinstance2 = new SoapVar($content, SOAP_ENC_OBJECT, "Class2Name", $url_WSDL);

然后我尝试使用以下参数调用该方法:

$result = $soapclient->GetMyObjects($myinstance1, $myinstance2);

我想一个问题是,其中一个类是枚举类型。另一个类是整数数组的类型。当我尝试使用这些参数调用我的函数时,我仍然收到NullReferenceException错误。

我认为问题是因为枚举类型没有正确转换。我是否正确实例化?有没有人有想法,如何解决这个问题?

我通过从WSDL文件生成php类来解决它。为此,我使用了工具wsdl2phpgenerator。
在我将值作为类对象传递后,它起作用了。

相关内容

  • 没有找到相关文章

最新更新