2010-08-05 6 views
0

Начну с того, что я никогда раньше не использовал SOAP.Вызов веб-службы PHP 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); 

ответ

1

ли эту работу:

$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.

+0

К сожалению, № По-прежнему такая же ошибка. «Неустранимая ошибка: исключение SoapFault: [soap: Client] QPricer.API.Common.Model.ApiException: в запросе цены не обнаружены цепочки. Проверяйте пространства имен XML, возможно, на QPricer.API.QPricer.Price (схемы цепей) в C: \ wamp \ www \ soap.php: 79 Трассировка стека: # 0 [внутренняя функция]: SoapClient -> __ call ('Price', Array) # 1 C: \ wamp \ www \ soap.php (79): SoapClient-> Price ('Circuits', Array) # 2 {main} брошен в C: \ wamp \ www \ soap.php в строке 79 " – Xavias

+0

А, тогда он, вероятно, работает только для простых типов. Вы пытались использовать примеры soapvar, которые я связал в конце (посмотрите на комментарии)? Что получилось в результате запроса? – Wrikken

+0

Я попробовал второй пример. Он вернул это. «SOAP FAULT: QPricer.API.Common.Model.ApiException: в запросе ценообразования не обнаружены цепочки. Проверьте свои пространства имен XML, возможно? в QPricer.API.QPricer.Price (схемы цепей)
Мой токен здесь: « – Xavias