2
我有一个带有NuSoap的Webservice WSDL。我在CodeIgniter中使用它。我有与contexttype数组返回问题。这是我的PHP代码:NuSoap返回complexType数组不正确?
$this->nusoap_server->wsdl->addComplexType(
"getJobStatusByIdsResponse",
"complexType",
"array",
"all",
"SOAP-ENC:Array",
array(),
array(
'Job' => array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:jobStatusResponse[]', 'minOccurs'=>'1', 'maxOccurs'=>'unbounded')
),
'tns:jobStatusResponse'
);
$this->nusoap_server->wsdl->addComplexType(
"getJobStatusByIdsResponse",
"complexType",
"array",
"all",
"SOAP-ENC:Array",
array(),
array(
'Job' => array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:jobStatusResponse[]', 'minOccurs'=>'1', 'maxOccurs'=>'unbounded')
),
'tns:jobStatusResponse'
);
$this->nusoap_server->register(
"getJobStatusByIds",
array('getJobStatusByIdsRequest' => 'tns:getJobStatusByIdsRequest'),
array('getJobStatusByIdsResponse' => 'tns:getJobStatusByIdsResponse'),
false,
false,
"rpc",
"literal",
"get JobStatus By Ids"
);
function getJobStatusByIds($data) {
return array(array('orderId' => '1000', 'jobStatus' => '5'),array('orderId' => '1001', 'jobStatus' => '3'),array('orderId' => '1002', 'jobStatus' => '7'))
}
我得到这个作为返回:
<ns1:getJobStatusByIdsResponse xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<getJobStatusByIdsResponse>
<item>
<orderId>1001</orderId>
<jobStatus>5</jobStatus>
</item>
<item>
<orderId>1002</orderId>
<jobStatus>3</jobStatus>
</item>
<item>
<orderId>1003</orderId>
<jobStatus>7</jobStatus>
</item>
</getJobStatusByIdsResponse>
</ns1:getJobStatusByIdsResponse>
可不是吗,是不是?
我怎样才能得到它像这样(“工作”而不是“项目”):
<ns1:getJobStatusByIdsResponse xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/">
<getJobStatusByIdsResponse>
<Job>
<orderId>1001</orderId>
<jobStatus>5</jobStatus>
</Job>
<Job>
<orderId>1002</orderId>
<jobStatus>3</jobStatus>
</Job>
<Job>
<orderId>1003</orderId>
<jobStatus>7</jobStatus>
</Job>
</getJobStatusByIdsResponse>
</ns1:getJobStatusByIdsResponse>
谁我能帮忙吗? 我在哪里可以找到更多NuSoap的例子?