我首先要说的是,我以前从未使用过SOAP。
不管怎样,这是我想要创建的代码。
<soapenv:Body>
<Circuits xmlns="http://www.qpricer.com/Services/Pricing">
<Circuit bandwidth="DS-3" port-billing-type="Flat" product="Dedicated Voice" term="1-Year">
<ns1:Loop npanxx="212255" xmlns:ns1="http://www.qpricer.com/Schema/Pricing">
<ns1:Address city="MANHATTAN" postal-code="10011" state="NY" street="111 8 AV FLR 1"/>
</ns1:Loop>
</Circuit>
</Circuits>
</soapenv:Body>标头已经就位。我可以给这个服务打个电话。
我有的是这个
//Make the call
$result = $client->Price('Circuits',
array(
'Circuit' => array(
'product' => 'Dedicated Voice',
'port-billing-type' => 'flat',
'term' => '1-Year',
'bandwidth' => 'DS-3'
),
'Loop' => array(
'npanxx' => '212255'
),
'Address' => array(
'street' => '111 8 AV FLR 1',
'city' => 'MANHATTAN',
'state' => 'NY',
'postal-code' => '10011')
));
// Display the result
print_r($client->__getLastRequest());
print_r($result);发布于 2010-08-06 03:33:14
这样做是可行的:
$result = $client->Price('Circuits',
array(
'Circuit' => array(
'_' => array(
'Loop' => array(
'_' => '',
'npanxx' => '212255'
),
'Address' => array(
'_' => '',
'street' => '111 8 AV FLR 1',
'city' => 'MANHATTAN',
'state' => 'NY',
'postal-code' => '10011'
)
),
'product' => 'Dedicated Voice',
'port-billing-type' => 'flat',
'term' => '1-Year',
'bandwidth' => 'DS-3'
)
));'_'似乎没有文档记录,但却是可行的。如果不起作用,可以试试http://www.php.net/manual/en/soapvar.soapvar.php上的评论。
https://stackoverflow.com/questions/3418229
复制相似问题