我使用ASP.NET WorkFlow Foundation创建了一个Web服务,我想用PHP来使用它。 我使用 EasyWSDL2PHP 生成用于调用Web服务的php参考文件。以下是 UpdateObject 方法的示例:
function UpdateObject($UpdateObject)
{
$int = $this->soapClient->UpdateObject($UpdateObject);
return $int;
}
所以我可以使用$UpdateObject
对象调用此方法,该对象在ref的另一个位置定义。文件:
class UpdateObject{
var $objList;//ArrayOfObjectStore
var $by;//string
var $dt;//string
}
$objList
是我在.NET中定义的 ObjectStore 列表。 ref类文件也像这样描述:
class ArrayOfObjectStore{
var $ObjectStore;//ObjectStore
}
当然,ObjectStore是一个具有如下属性的对象:
class ObjectStore{
var $category;//string
var $code;//string
var $create_by;//string
var $create_datetime;//dateTime
var $description;//string
var $modify_by;//string
var $modify_datetime;//dateTime
var $name;//string
}
供您参考,.NET中此方法的签名是:
Public Function UpdateObject(objList As List(Of ObjectStore),
by As String, dt As String) As Integer
行。我尝试通过在列表中包含一个 ObjectStore 对象来调用Web服务,并且它运行良好。但是我不知道如何将多个对象放入列表中。
供您参考,以下是我如何使用列表中的1个对象成功调用:
$test = new MyClass();
$obj = new ObjectStore();
$obj->category = 'test';
$obj->code = 'test';
$obj->description='test';
$obj->modify_by='test';
$obj->name='test';
$obj->sys_abbr='test';
$obj->sys_code='test';
$objList = new ArrayOfObjectStore();
$objList->ObjectStore = $obj;
$updateObj = new UpdateObject();
$updateObj->objList = $array;
$updateObj->by = 'test';
$updateObj->dt = '2014-2-22 22:22:22';
$result = $test->UpdateObject($updateObj);
echo $result;
如何将多个对象放入列表?我尝试了array_push()
和$updateObj->objList->append()
但他们都没有工作。请给我一些建议。谢谢你的帮助。