Sherman
Mephi
SOAP, проблемы с кириллицей во входящих параметрах(+)
В схеме входной параметр у метода определен, как:
<s:element name="name" type="s:string" />
Все работает, если там латиница и цифры, как только пытаюсь вызвать метод с параметром, у которого в качестве строки передается кириллица, soap сыпится
$params["name"] = "test"; //все ок
$obj = $client->GetMelodyBySinger($params["name"]); //у меня один параметр
если:
$params["name"] = iconv("WINDOWS-1251", "UTF-8", "кириллица"); //crash
==========================
php: 5.1
os: windows sp2
web-server: apache 2.x
текст ошибки:
Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in H:\wwwroot\poly\ws\client.php5:18 Stack trace: #0 [internal function]: SoapClient->__call('GetMelodyBySing...', Array) #1 H:\wwwroot\poly\ws\client.php5(18): SoapClient->GetMelodyBySinger('???????????????...') #2 {main} thrown in H:\wwwroot\poly\ws\client.php5 on line 18
-~{}~ 11.02.06 02:24:
проблема решилась путем добавления параметра
encoding => 'codepage'
в конструкторы SoapClient, SopaServer.
В схеме входной параметр у метода определен, как:
<s:element name="name" type="s:string" />
Все работает, если там латиница и цифры, как только пытаюсь вызвать метод с параметром, у которого в качестве строки передается кириллица, soap сыпится
$params["name"] = "test"; //все ок
$obj = $client->GetMelodyBySinger($params["name"]); //у меня один параметр
если:
$params["name"] = iconv("WINDOWS-1251", "UTF-8", "кириллица"); //crash
==========================
php: 5.1
os: windows sp2
web-server: apache 2.x
текст ошибки:
Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document in H:\wwwroot\poly\ws\client.php5:18 Stack trace: #0 [internal function]: SoapClient->__call('GetMelodyBySing...', Array) #1 H:\wwwroot\poly\ws\client.php5(18): SoapClient->GetMelodyBySinger('???????????????...') #2 {main} thrown in H:\wwwroot\poly\ws\client.php5 on line 18
-~{}~ 11.02.06 02:24:
проблема решилась путем добавления параметра
encoding => 'codepage'
в конструкторы SoapClient, SopaServer.