У меня есть сложный тип, определенный следующим образом в моем служебном файле
/**
* Class EmployerJob
*/
class EmployerJob{
/** @var string $job_title */
public $job_title;
/** @var string $job_description */
public $job_description;
...
}
Тогда я называю коллекцию этого EmployerJob параметром в моей другой сервисной функции следующим образом:
/**
* Create Employer
*
* @param \common\models\EmployerJob[] $jobs
*
* @return \common\models\EmployerResponse $response
*/
public function employerCreate($jobs = null){ ... }
Все классно и работает нормально, но в wsdl-файле не отображается подструктура для $jobs
элемента
<xsd:element name="employerCreate">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="jobs" type="tns:ArrayOfEmployerJob"nillable="true"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Он отображается как tns:ArrayOfEmployerJob
(также часть wsdl) вместо подструктуры прямо под ним. И это тоже хорошо. Но мне нужно показать подструктуру, как показано ниже:
<xsd:element name="employerCreate">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="jobs" type="tns:ArrayOfEmployerJob"nillable="true">
<EmployerJob>
<job_title></job_title>
<job_description></job_description>
</EmployerJob>
</jobs>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Что я могу изменить в коде, чтобы сделать его как выше? Помните, мне нужна указанная выше структура для валидаций на валидациях SAP.