2

我正在使用 NuSOAP,我正在尝试发出请求,但总是收到 500 错误:

<?php
require_once('../lib/nusoap.php');

$c = new soapclient('http://example.com/index.asmx?WSDL');

$clientVAT = $c->call('GetClient',
              array(
                'empresa' => '*****',
                'password' => '******',
                'nif' => '*******',
                ));

echo "clientVAT $clientVAT.";

?> 

这还不足以从服务器获得响应吗?

4

1 回答 1

0

在您的 wsdl 中,您有一个包含 2 个级别的 complexType

<s:element name="GetClientesNif">
    <s:complexType>
        <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="empresa" type="s:string"/>
            <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/>
            <s:element minOccurs="0" maxOccurs="1" name="nif" type="s:string"/>
        </s:sequence>
    </s:complexType>
</s:element>

这就是为什么您需要发送带有 2 个级别数组的请求:

试试这个:

$myArray[] = array(
                'empresa' => '*****',
                'password' => '******',
                'nif' => '*******',
                );

$clientVAT = $c->call('GetClientesNif', $myArray);
于 2013-10-03T18:20:26.640 回答