2013-09-17 2 views
1

Там нет ничего слишком много, чтобы писать здесь, кроме этого сообщение об ошибке:PHP SoapClient Версия Несовпадение

SoapFault Object ([сообщение: защита] => Неправильная версия [строка: Exception: частный] => [код: защищенный ] => 0 [файл: protected] => C: \ wamp \ www \ nsoap \ phpclient.php [строка: protected] => 10 [trace: Exception: private] => Array ([0] => Array ([ file] => C: \ wamp \ www \ nsoap \ phpclient.php [line] => 10 [function] => __call [class] => SoapClient [type] => -> [args] => Array ([0 ] => getIMIPremium [1] => Array ([0] => Array ([imiPolicy] => Array ([expiryDate] => 23-09-2013 [imiInsured] => Array ([item] => Array ([ item] => Array ([age] => 23 [basicSumInsured] => 33233 [coverRageType] => 12 [dateOfBirth] => 26-09-1986 [preExistingDisease] => нет))) [inceptionDate] => 12- 09-2009 [noOfInsur ed] => 1 [partnerCode] => 2121 [stateCode] => 233))))) [1] => Array ([file] => C: \ wamp \ www \ nsoap \ phpclient.php [line] = > 10 [function] => getIMIPremium [класс] => SoapClient [type] => -> [args] => Array ([0] => Array ([imiPolicy] => Array ([expiryDate] => 23-09 -2013 [imiInsured] => Array ([item] => Array ([item] => Array ([age] => 23 [basicSumInsured] => 33233 [coverRageType] => 12 [dateOfBirth] => 26-09- 1986 [preExistingDisease] => нет))) [inceptionDate] => 12-09-2009 [noOfInsured] => 1 [partnerCode] => 2121 [stateCode] => 233))))) [предыдущее: Исключение: личное] => [faultstring] => Неверная версия [faultcode] => VersionMismatch [faultcodens] =>http://schemas.xmlsoap.org/soap/envelope/ [xdebug_message] => (!) SoapFault: неправильная версия в C: \ wamp \ www \ nsoap \ phpclient.php в строке 10 Call Stack #TimeMemoryFunctionLocation 10.0009674576 {main}() .. \ phpclient.php: 0 20.0704702744SoapClient-> getIMIPremium() .. \ phpclient .php: 10)

Возможно ли, что в клиентском php-коде есть ошибка? Я попытался NuSoap, но он также порождает ошибку «Ошибка звонка: ответ не типа text/xml: application/wsdl + xmlHTTP/1.1 200 OK Дата: Вт, 17 Сен 2013 16:55:39 GMT Сервер: Apache/2.2.22 (Win64) PHP/5.3.13 Последнее изменение: Вт, 17 Сен 2013 13:18:39 GMT ETag: «a0000000a818c-12e9-4e69428b54054» Диапазоны приема: байты Длина контента: 4841 Соединение: Тип: application/wsdl + xml ".

Знаете ли вы, что это произошло?

PHP код:

<?php 

try{ 


$client = new SoapClient("http://mysite.com/nsoap/IMIPremiumWebService.wsdl"); 


$args= array("imiPolicy" => array("expiryDate" => "23-09-2013", "imiInsured" =>array("item" => array("item" => array("age"=>'23', "basicSumInsured"=>'33233', "coverRageType"=>'12',"dateOfBirth"=>'26-09-1986',"preExistingDisease" => 'no'))), "inceptionDate"=>"12-09-2009" ,"noOfInsured"=>'1',"partnerCode" => '2121', "stateCode" => '233')); 
$something = $client->getIMIPremium($args); 
echo $client->responseData; 


print_r($something); 
} 
catch (Exception $e) 
{ 

    echo "*****************"; 
    print_r($e); 
} 

?> 

Вы можете найти WSDL здесь (на мой вопрос, связанный с NuSOAP: WSDL Client Not Working

ответ

3

Немного прибегая к помощи с конкретным сообщением об ошибке показывает, что это может быть связано с сервер Soap, отвечающий в Soap версии 1.2, в то время как настройка по умолчанию в PHP - это мыло версии 1.1.

Попробуйте добавить массив параметров в SoapClient с array('soap_version'=> SOAP_1_2) как второй pa (см. http://de1.php.net/manual/en/soapclient.soapclient.php).

Смежные вопросы