我在服务文件中定义了一个复杂的类型
/**
* 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){ ... }
很酷,一切正常,但是$jobs
元素的wsdl文件中没有子结构
<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验证。