کامروا
یک شنبه 10 اسفند 1393, 13:08 عصر
سلام
یک وب سریس هست به آدرس : (البته من بجای نام دامین اصلی، نوشتم example)
http://example.com/WSV2/StaticData.php?xml=<StaticDataRequest><Header><Code>TT4533</Code><Username>skyman211</Username><Password>ammkj43</Password></Header><Body><GetStaticData>cities</GetStaticData><ExtraParams><CountryCode>98</CountryCode></ExtraParams></Body></StaticDataRequest>
این وب سرویس، کد کشور و نام کاربری و رمز عبور رو به عنوان ورودی میگیره و لیست شهرهای اون رو بر میگردونه. خروجی اون به اینصورته :
<?xml version="1.0" encoding="UTF-8"?>
<StaticDataResponse>
<Country code="98" />
<Cities>
<City code="320">
<Name>Tehran</Name>
</City>
<City code="1907">
<Name>Shiraz</Name>
</City>
<City code="9971">
<Name>Bandar Abbas</Name>
</City>
</Cities>
</StaticDataResponse>
حالا من میخوام از طریق SoapClient وصل شم به این وب سرویس و کد و نام شهرها رو در برنامه دریافت کنم.
لطفا بفرمایید که چطور میتونم با استفاده از SoapClient به یک وب سرویس غیر WSDL وصل شم؟
به صورت زیر نمیشه و خطا میده که این آدرس وب سرویس، WSDL نیست:
$result = new SoapClient('http://example.com/WSV2/StaticData.php?xml=<StaticDataRequest><Header><Code>TT4533</Code><Username>skyman211</Username><Password>ammkj43</Password></Header><Body><GetStaticData>cities</GetStaticData><ExtraParams><CountryCode>98</CountryCode></ExtraParams></Body></StaticDataRequest>');
متن خطا :
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't find <definitions> in 'http://example.com/WSV2/StaticData.php?xml=<StaticDataRequest><Header><Code>TT4533</Code><Username>skyman211</Username><Password>ammkj43</Password></Header><Body><GetStaticData>cities</GetStaticData><ExtraParams><CountryCode>67</CountryCode></ExtraParams></Body></StaticDataRequest>' in /srv/www/htdocs/
ممنون میشم راهنمایی کنید.
شات از ساختار وب سرویس :
128980
یک وب سریس هست به آدرس : (البته من بجای نام دامین اصلی، نوشتم example)
http://example.com/WSV2/StaticData.php?xml=<StaticDataRequest><Header><Code>TT4533</Code><Username>skyman211</Username><Password>ammkj43</Password></Header><Body><GetStaticData>cities</GetStaticData><ExtraParams><CountryCode>98</CountryCode></ExtraParams></Body></StaticDataRequest>
این وب سرویس، کد کشور و نام کاربری و رمز عبور رو به عنوان ورودی میگیره و لیست شهرهای اون رو بر میگردونه. خروجی اون به اینصورته :
<?xml version="1.0" encoding="UTF-8"?>
<StaticDataResponse>
<Country code="98" />
<Cities>
<City code="320">
<Name>Tehran</Name>
</City>
<City code="1907">
<Name>Shiraz</Name>
</City>
<City code="9971">
<Name>Bandar Abbas</Name>
</City>
</Cities>
</StaticDataResponse>
حالا من میخوام از طریق SoapClient وصل شم به این وب سرویس و کد و نام شهرها رو در برنامه دریافت کنم.
لطفا بفرمایید که چطور میتونم با استفاده از SoapClient به یک وب سرویس غیر WSDL وصل شم؟
به صورت زیر نمیشه و خطا میده که این آدرس وب سرویس، WSDL نیست:
$result = new SoapClient('http://example.com/WSV2/StaticData.php?xml=<StaticDataRequest><Header><Code>TT4533</Code><Username>skyman211</Username><Password>ammkj43</Password></Header><Body><GetStaticData>cities</GetStaticData><ExtraParams><CountryCode>98</CountryCode></ExtraParams></Body></StaticDataRequest>');
متن خطا :
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't find <definitions> in 'http://example.com/WSV2/StaticData.php?xml=<StaticDataRequest><Header><Code>TT4533</Code><Username>skyman211</Username><Password>ammkj43</Password></Header><Body><GetStaticData>cities</GetStaticData><ExtraParams><CountryCode>67</CountryCode></ExtraParams></Body></StaticDataRequest>' in /srv/www/htdocs/
ممنون میشم راهنمایی کنید.
شات از ساختار وب سرویس :
128980