简体   繁体   中英

PHP + WSDL + SOAP - how do I display a webservice result on screen

I'm just starting out in PHP and would like some advice as to how to get a webservice result to display in an array.

For example I would like to print the currency codes into an array from the following WSDL

$wsdl="http://www.webservicex.com/CurrencyConvertor.asmx?WSDL

This is what I have so far but nothing really happens:

$proxyhost="proxy.cpit.ac.nz";  
$proxyport = 8080;  

$wsdl="http://www.webservicex.com/CurrencyConvertor.asmx?WSDL";

$client = new SoapClient($wsdl,
  array('proxy_host' => "$proxyhost",'proxy_port' => 8080, 'trace' => 1));

$country=array();
$result = $client->ConversionRate($country);
print_r($result);

Basically, it's your $country variable.

If you look at the ConversionRate Webservice, it defines FromCurrency and ToCurrency as required.

  <s:element name="ConversionRate"> 
    <s:complexType> 
      <s:sequence> 
        <s:element minOccurs="1" maxOccurs="1" name="FromCurrency" type="tns:Currency" /> 
        <s:element minOccurs="1" maxOccurs="1" name="ToCurrency" type="tns:Currency" /> 
      </s:sequence> 
    </s:complexType> 
  </s:element> 

You'll need to update $country like so:

$country = array( "FromCurrency" => "AFA",
                  "ToCurrency" => "AUD");

That should work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM