Problem using PEAR::SOAP with other than default class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

I am trying to use PEAR::SOAP with a Weather service:
http://www.capescience.com/webservices/globalweather/index.shtml

This webservice offers two different classes of webservices. While I can
successfully use methods of class 1, I can't use methods of class 2.

Does anyone have a code example on how I can use methods from others than the
first class in a webservice? I guess I need a parameter two call the second
class, but don't have an idea how ...

Here is more info:

output of "echo ($wsdl->generateAllProxies());"

class WebService_GlobalWeather_StationInfo extends SOAP_Client
{
    function WebService_GlobalWeather_StationInfo()
{

$this->SOAP_Client("http://live.capescience.com:80/ccx/GlobalWeather";, 0);
    }
    function &getStation($code) {
        return $this->call("getStation",
                        $v = array("code"=>$code),

array('namespace'=>'capeconnect:GlobalWeather:StationInfo',

'soapaction'=>'capeconnect:GlobalWeather:StationInfo#getStation',
                            'style'=>'rpc',
                            'use'=>'encoded' ));
    }
    function &isValidCode($code) {
        return $this->call("isValidCode",
                        $v = array("code"=>$code),

array('namespace'=>'capeconnect:GlobalWeather:StationInfo',

'soapaction'=>'capeconnect:GlobalWeather:StationInfo#isValidCode',
                            'style'=>'rpc',
                            'use'=>'encoded' ));
    }
    function &listCountries() {
        return $this->call("listCountries",
                        $v = null,

array('namespace'=>'capeconnect:GlobalWeather:StationInfo',

'soapaction'=>'capeconnect:GlobalWeather:StationInfo#listCountries',
                            'style'=>'rpc',
                            'use'=>'encoded' ));
    }
    function &searchByCode($code) {
        return $this->call("searchByCode",
                        $v = array("code"=>$code),

array('namespace'=>'capeconnect:GlobalWeather:StationInfo',

'soapaction'=>'capeconnect:GlobalWeather:StationInfo#searchByCode',
                            'style'=>'rpc',
                            'use'=>'encoded' ));
    }
    function &searchByCountry($country) {
        return $this->call("searchByCountry",
                        $v = array("country"=>$country),

array('namespace'=>'capeconnect:GlobalWeather:StationInfo',

'soapaction'=>'capeconnect:GlobalWeather:StationInfo#searchByCountry',
                            'style'=>'rpc',
                            'use'=>'encoded' ));
    }
    function &searchByName($name) {
        return $this->call("searchByName",
                        $v = array("name"=>$name),

array('namespace'=>'capeconnect:GlobalWeather:StationInfo',

'soapaction'=>'capeconnect:GlobalWeather:StationInfo#searchByName',
                            'style'=>'rpc',
                            'use'=>'encoded' ));
    }
    function &searchByRegion($region) {
        return $this->call("searchByRegion",
                        $v = array("region"=>$region),

array('namespace'=>'capeconnect:GlobalWeather:StationInfo',

'soapaction'=>'capeconnect:GlobalWeather:StationInfo#searchByRegion',
                            'style'=>'rpc',
                            'use'=>'encoded' ));
    }
}
class WebService_GlobalWeather_GlobalWeather extends SOAP_Client
{
    function WebService_GlobalWeather_GlobalWeather()
{

$this->SOAP_Client("http://live.capescience.com:80/ccx/GlobalWeather";, 0);
    }
    function &getWeatherReport($code) {
        return $this->call("getWeatherReport",
                        $v = array("code"=>$code),

array('namespace'=>'capeconnect:GlobalWeather:GlobalWeather',

'soapaction'=>'capeconnect:GlobalWeather:GlobalWeather#getWeatherReport',
                            'style'=>'rpc',
                            'use'=>'encoded' ));
    }
}

-------

here my code to use the webservice:
-------
<?php
include('SOAP/Client.php');
$wsdl=new SOAP_WSDL("http://live.capescience.com/wsdl/GlobalWeather.wsdl";);

echo ( $wsdl->generateAllProxies () );

// Create an object directly from the proxy code
$client =$wsdl->getProxy();

$myStationData=$client->getWeatherReport("ZRH");
-- 

result is an error message:
Call to undefined function:  getweatherreport() on line 10 ...

Any help is very appreciated! Thanks,
Andreas


--     
The only thing that stands between a man and what he wants from
life is often merely the will to try it and the faith to believe
that it is possible ...
-- M. DeVos
    
----------------------------------------------     
Andreas Neumann - Department of Cartography     
Swiss Federal Institute of Technology (ETH)     
ETH Hoenggerberg, CH-8093  Zurich, Switzerland     
Phone: ++41-1-633 3031, Fax: ++41-1-633 1153     
e-mail: neumann@karto.baug.ethz.ch     
www: http://www.karto.ethz.ch/neumann/     
SVG.Open/Carto.net: http://www.svgopen.org/     

-- 
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux