继续讨论现有问题:Can nusoap return array of string?
我想知道函数GetAllNews()的代码返回数组$ stack的字符串作为数据类型“tns:ArrayOfString”
先生。 Oliver Salzburg仅为ArrayOfString类型的声明提供了代码,但是如何将字符串数据类型的普通php数组转换为用户定义的数据类型ArrayOfString?这样我就可以在C#代码中将这些数据称为:
wService.Service WebS = new wService.Service();
wService.ArrayOfString StringArray = new wService.ArrayOfString();
StringArray = WebS.GetAll();
string [] All= StringArray.itemName[0];
我的目标是从php / nuSOAP返回一个字符串数组到我的C#代码。
答案 0 :(得分:1)
首先将代码上方的ArrayOfString定义为
$server->wsdl->addComplexType(
'ArrayOfString',
'complexType',
'array',
'all',
'SOAP-ENC:Array',
array(),
array(
array(
'ref'=>'SOAP-ENC:arrayType',
'wsdl:arrayType'=>'xsd:string[]'
)
),
'xsd:string'
);
然后将方法'GetAllNews'声明为
$server->register('GetAllNews',
array(),
array('return' => 'tns:ArrayOfString'), //use 'tns:ArrayOfString' instead of 'xsd:string[]'
'urn:NewsService',
'urn:NewsService#GetAllNews',
'rpc',
'literal', //You can also use 'encoded'
''
);
上面的代码将返回一个字符串数组(string []
)在C#中调用'GetAllNews'方法
string [] AllNews = new WebService.GetAllNews();