我遇到了一个复杂数组的问题,响应只说:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.pharmadvisor.com/ws/">
<SOAP-ENV:Body>
<ns1:FichasRepresentanteResponse>
<result/>
</ns1:FichasRepresentanteResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
但我已经宣布了WSMethod:
/**
* Recupera las fichas del representante
*
* @WSMethod(name="FichasRepresentante", webservice="webservices")
*
* @param string $bd_nombre Nombre de la Base de Datos
* @param string $id_usuario Id del representante
* @return wsFicha[]
*/
public function executeFichas_representante($request){
$arrFichas = array();
...
$fichaMed = new wsFicha();
$fichaMed->id_formato = 1;
$fichaMed->nombre = "Médicos";
$fichaMed->abreviatura = "Med";
$fichaMed->gps_maestro_contacto = 2;
$arrFichas[1] = $fichaMed;
...
$this->result = $arrFichas;
}
而且wsFicha是
class wsFicha {
/**
* Id formato de la Ficha
* @var integer
*/
public $id_formato;
/**
* Nombre de la ficha
* @var string
*/
public $nombre;
/**
* Abreviatura
* @var string
*/
public $abreviatura;
/**
* Si la posición GPS depende de la base (1) o del contacto (2)
* @var integer
*/
public $gps_maestro_contacto;
}
最后,app.yml
代表
classmap:
wsFicha: wsFicha
wsFichaArray: ckGenericArray
我可能做错了所以网络服务没有生成我的数据,还要注意如果我只将return sfView::ERROR
用于测试,那么就行不通了。