【问题标题】:How to create an object from the WSDL of a SOAP WebService in PHP?如何在 PHP 中从 SOAP WebService 的 WSDL 创建对象?
【发布时间】:2019-03-25 12:41:45
【问题描述】:

我正在尝试使用 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 错误。

我认为问题是因为枚举类型没有正确转换。 我正确地实例化了吗? 有谁知道如何解决这个问题?

【问题讨论】:

    标签: c# php web-services wsdl soap-client


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 2014-05-22
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多