Home » Web Services » SOAP » Bug #7626
Error whith response to .NET client
Details
| Request #7626 | Error whith response to .NET client |
|---|---|
| Submitted | 2006-05-15 14:09 UTC |
| From | sn8p at mail dot ru |
| Status | No Feedback |
| Package | SOAP |
| PHP Version | 5.1.2 |
| OS | Free BSD / Windows |
| Roadmaps | (Not assigned) |
Comments
[2006-05-15 14:09 UTC] sn8p at mail dot ru
Description:
------------
I'm calling SOAP function from .NET client, but when return value is complex array, my client reporting error:
The specified type was not recognized: name='Struct', namespace='', at <retval xmlns='urn:CntMan'>.
Test script:
---------------
......
$this->__typedef['{urn:CntMan}PhoneModel'] = array("ID"=>"int",
"Manufacturer"=>"string",
"Model"=>"string",
"UserAgent"=>"string",
"BrowserType"=>"string",
"PolyphonyType"=>"string",
"MonophonyType"=>"string",
"RealtoneType"=>"string",
"VideoType"=>"string",
"DisplayResolution"=>"string",
"IsColored"=>"boolean",
"IsNew"=>"boolean",
"IsJavaSupport"=>"boolean",
"IsPermited"=>"boolean",
"Comments"=>"string"
);
$this->__typedef['{urn:CntMan}PhoneModelArray'] = array(array("item"=>"{urn:CntMan}PhoneModel"));
$this->__dispatch_map['GetPhoneModels'] = array(
'in' => array(),
'out' => array('retval'=>"{urn:CntMan}PhoneModelArray")
);
function GetPhoneModels()
{
.........................................
$ret = Array();
if($res_phones)
{
foreach($res_phones as $n=>$phone)
{
$item[ID] = $phone[id];
$item[Manufacturer] = mb_convert_encoding($phone[phone], "UTF-8", "Windows-1251");
$item[Model] = mb_convert_encoding($phone[model], "UTF-8", "Windows-1251");
$item[UserAgent] = mb_convert_encoding($phone[user_agent], "UTF-8", "Windows-1251");
$item[BrowserType] = mb_convert_encoding($phone[browser], "UTF-8", "Windows-1251");
$item[PolyphonyType] = mb_convert_encoding($phone[melody], "UTF-8", "Windows-1251");
$item[MonophonyType] = mb_convert_encoding($phone[mono], "UTF-8", "Windows-1251");
$item[RealtoneType] = mb_convert_encoding($phone[mp3], "UTF-8", "Windows-1251");
$item[VideoType] = mb_convert_encoding($phone[video], "UTF-8", "Windows-1251");
$item[DisplayResolution] = mb_convert_encoding($phone[resolution], "UTF-8", "Windows-1251");
$item[IsColored] = ($phone[pic]=='1')?(true):(false);
$item[IsNew] = ($phone["new"]=='1')?(true):(false);
$item[IsJavaSupport] = ($phone[java]=='1')?(true):(false);
$item[IsPermited] = ($phone[permit]=='1')?(true):(false);
$item[Comments] = mb_convert_encoding($phone[comments], "UTF-8", "Windows-1251");
$ret[]=$item;
}
return(new SOAP_Value('{urn:CntMan}retval','{urn:CntMan}PhoneModelArray',ret));
//return($ret);
}
//}
}