2013-05-08 3 views
0

Я пытаюсь вызвать функцию из данного веб-сервиса:Значение SOAP PHP не может быть нулевым. Имя параметра: источник

http://www.zulutrade.com/WebServices/Performance.asmx?WSDL

Я посылаю все запрошенные Params, но я получаю эту ошибку: Значение не может быть пустым. Имя параметра: источник Я думаю, что это проблема сервера, но, может быть, мне нужно изменить что-то в моем коде:

$client = new SoapClient('http://www.zulutrade.com/WebServices/Performance.asmx?WSDL', 
         array('location' => "http://www.zulutrade.com/WebServices/Performance.asmx", 
           'trace'=>1, 
           "cache_wsdl" => 0)); 

$params = array 
(
    'providerId' => 109206, 
    'fromDateStr' => "1985-12-19", 
    'toDateStr' => "2013-05-06", 
    'validTrades' => true, 
    'lotSize' => "Mini", 
    'start' => 0, 
    'length' => 20, 
    'sortBy' => "buy", 
    'sortAscending' => true 
); 

try 
{ 
    $result = $client->GetProviderTrades($params); 
} 
catch (SoapFault $fault) 
{ 
    print_r($fault); 
} 

Любые идеи? благодаря

+0

Вы не отправляете требуемый параметр 'источник'? – RMcLeod

+0

@RMcLeod. В wsdl нет такого параметра 'source', поэтому он не может быть. – Veda

+0

@Veda Это когда-нибудь было разрешено? Я столкнулся с той же проблемой и не могу ее исправить. Источник источника не существует в эфирном файле WSDL. –

ответ

0

Я попытался с NuSOAP класса, и я получаю эту ошибку

HTTP Error: Couldn't open socket connection to server http://www.zulutrade.com:81/WebServices/Performance.asmx , Error (10060): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

Так может быть, это ошибка с их стороны

+0

Вы установили местоположение на порт 80 http: // www.zulutrade.com/WebServices/Performance.asmx, установленный OP? –

+0

Нет необходимости устанавливать порт –

+0

Я этого не делаю - это внутренний код класса nusoap. Я использовал этот класс со многими веб-сервисами, и он работал свободно - я думаю, они знают, что они делают – Adidi

0

Вы установили все ВАР, кроме одного. ArrayOfInt currencyIds; не установлен.

struct GetProviderTrades { 
int providerId; 
ArrayOfInt currencyIds; 
string fromDateStr; 
string toDateStr; 
boolean validTrades; 
LotSize lotSize; 
int start; 
int length; 
string sortBy; 
boolean sortAscending; 
} 
+0

I ' вы пытались это сделать: 'code' $ params = array ( 'providerId' => 109206, 'currencyIds' => массив (1,2), 'fromDateStr' =>" 1985-12-19 ", ' toDateStr '=> "2013-05-06", ' validTrades '=> true, ' lotSize '=> "Mini", ' start '=> 0, ' length '=> 20, ' sortBy ' => "buy", 'sortAscending' => true ); 'code' И вот теперь ошибка:" AnonymousType4f'2 [Sys tem.Int32, Z.T []] не может быть сериализована, потому что у него нет конструктора без параметров « –

+0

Это еще один вопрос. Взгляните на http://stackoverflow.com/a/7377712/2123644 –

+0

, вероятно, ошибка с другой стороны –

Смежные вопросы