0

继续现有问题:nusoap 可以返回字符串数组吗?

我想知道函数 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# 代码。

4

1 回答 1

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();
于 2013-06-26T19:58:32.503 回答