0

この WSDL を SoapUI でテストすると、実際の結果が得られます。数値が加算されるだけです。

$client = new SoapClient("http://localhost:8080/calculator?wsdl");

$result = $client->add(3,3);

print_r($result);

これは以下を返します:

stdClass Object
(
    [return] => 0
)

ただし、6 を返す必要があります。SoapUI の場合と同様です。

いくつかのデバッグ:

print_r($client->__getFunctions());
print_r($client->__getTypes());

Array
(
    [0] => addResponse add(add $parameters)
)
Array
(
    [0] => struct add {
         int arg0;
         int arg1;
    }
    [1] => struct addResponse {
         int return;
    }
)
4

1 に答える 1

2

addResponseパラメータは 1 つしか想定されていないため、配列またはオブジェクトで渡す必要があります。

$params = array(
    'arg0' => 3,
    'arg1' => 3
);

//OR
//$params = new stdClass;
//$params->arg0 = 3;
//$params->arg1 = 3;

$result = $client->add($params);
于 2012-12-02T17:33:53.140 に答える