PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Web Services » SOAP » Bug #7626

Error whith response to .NET client

Details

Request #7626Error whith response to .NET client
Submitted2006-05-15 14:09 UTC
Fromsn8p at mail dot ru
StatusNo Feedback
PackageSOAP
PHP Version5.1.2
OSFree 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);
}

//}
}