这是WSDL http://www.webservicex.net/stockquote.asmx?WSDL
我正在尝试获得超过1股的回应。是否可以在此Web服务中使用?
Web服务需要1个参数,即Symbol。所以插入1个符号的代码是
$ wsdl = “http://www.webservicex.net/stockquote.asmx?WSDL”; // wsdl
$ client = new SoapClient的($ WSDL);
$ quote = $客户端 - >为getQuote((对象)阵列( '符号'=> 'SPY'));
后续代码var_dump($报价);
echo $ quote-&gt; GetQuoteResult。"<br />"
;
我得到以下正确的回复
<StockQuotes><Stock><Symbol>SPY</Symbol><Last>133.51</Last><Date>5/27/2011</Date><Time>4:00pm</Time><Change>+0.51</Change><Open>133.37</Open><High>133.87</High><Low>132.9588</Low><Volume>120921856</Volume><MktCap>N/A</MktCap><PreviousClose>133.00</PreviousClose><PercentageChange>+0.38%</PercentageChange><AnnRange>101.13 - 137.18</AnnRange><Earns>0.00</Earns><P-E>N/A</P-E><Name>SPDR S&P 500</Name></Stock></StockQuotes><br />
我怎样才能在单个请求中获得3个代码的信息?例如,代码是SPY,^ NZ50和QQQ?我尝试了不同的解决方案,例如$quote = $client->GetQuote((object)array('symbol'=>'^NZ50', 'symbol'=>'QQQ', 'symbol'=>'SPY'));
我得到了与最后一个元素相同的XML - SPY自动收报机信息
有了这个$quote = $client->GetQuote((object)array('symbol'=>'^NZ50','QQQ','SPY'));
,我只得到第一个自动收录机。
甚至可以在此网络服务中获得超过1个代码信息的回复吗?我应该如何打造输入?
这是GetQuoteSoapIn
元素
<s:element name="GetQuote">
<s:complexType> <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="symbol" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
GetQuoteHttpGetIn
<wsdl:message name="GetQuoteHttpGetIn">
<wsdl:partname="symbol" type="s:string"/>
</wsdl:message>
答案 0 :(得分:1)
尝试这样做:
array('symbol'=>'^NZ50, QQQ, SPY')
根据使用情况here,如果您输入^NZ50, QQQ, SPY
(用逗号分隔空格而不是^NZ50,QQQ,SPY
),则会返回带有<symbol>
数据的XML响应