Итак, у меня возникла проблема с форматированием массива ответов, как показано ниже. Текущие результаты:
<user>
<userId>4562</userId>
<userName>M00001</userName>
<languageId>27</languageId>
<languageCode>en</languageCode>
<acls>
<acl>
<ns1:acl>
<identity>SCP</identity>
<permissions>R</permissions>
</ns1:acl>
<ns1:acl>
<identity>SCP.EVDS.ACCOUNT.HISTORY</identity>
<permissions>RWCD</permissions>
</ns1:acl>
</acl>
</acls>
</user>
Ожидаемый результат:
<user>
<userId>4562</userId>
<userName>M00001</userName>
<languageId>27</languageId>
<languageCode>en</languageCode>
<acls>
<acl>
<identity>SCP</identity>
<permissions>R</permissions>
</acl>
<acl>
<identity>SCP.EVDS.ACCOUNT.HISTORY</identity>
<permissions>RWCD</permissions>
</acl>
</acls>
</user>
Используя Zoap-сервер, я создал 2 класса для обработки входящий массив, который выглядит как $acls->acl(arrayOfacl)
Мои файлы классов:
<?php
namespace App\Http\Controllers\Types\Response;
class acls
{
/**
* @var App\Http\Controllers\Types\Response\acl[] ___FOR_ZEND_minOccurs=0
*/
public $acl = null;
/**
* KeyValue constructor.
* @param App\Http\Controllers\Types\Response\acl[] $acl
*/
public function __construct($acl = '[]')
{
$this->acl = $acl;
}
}
<?php
namespace App\Http\Controllers\Types\Response;
class acl
{
/**
* @var string
*/
public $identity = '';
/**
* @var string
*/
public $permissions = '';
/**
* KeyValue constructor.
*/
public function __construct($identity='', $permissions='')
{
$this->identity = $identity;
$this->permissions = $permissions;
}
}
и
<?php
namespace App\Http\Controllers\Types\Response;
class UserLogin
{
/**
* @var string ___FOR_ZEND_minOccurs=0
*/
public $userId = null;
/**
* @var string ___FOR_ZEND_minOccurs=0
*/
public $userName = null;
/**
* @var string ___FOR_ZEND_minOccurs=0
*/
public $languageId = null;
/**
* @var string ___FOR_ZEND_minOccurs=0
*/
public $languageCode = null;
/**
* @var App\Http\Controllers\Types\Response\acls ___FOR_ZEND_minOccurs=0
*/
public $acls = null;
/**
* UserLogin constructor.
*/
public function __construct($userId ='', $userName ='', $languageId= '', $languageCode='', $acls = '')
{
$this->userId = $userId;
$this->userName = $userName;
$this->languageId = $languageId;
$this->languageCode = $languageCode;
$this->acls = $acls;
}
}
Я знаю, это должна быть ошибка форматирования и потратили часы, пытаясь различными способами отсортировать соответственно, любые предложения приветствуются ..