嗨我有一个WSDL,其中一个参数作为输入,3个参数作为输出。
但是当我使用客户端时,我只得到一个参数!
这是我的WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="gestioneAssistitiDefinitions" targetNamespace="http://test.it/test/soapServer/" xmlns:tns="http://test.it/test/soapServer/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xsd:schema elementFormDefault="qualified">
<xsd:complexType name="assistito">
<xsd:all>
<xsd:element name="cognome" type="xsd:string" />
<xsd:element name="nome" type="xsd:string" />
<xsd:element name="codiceFiscale" type="xsd:string" />
</xsd:all>
</xsd:complexType>
</xsd:schema>
</types>
<message name="gestioneAssistiti">
<part name="codFiscale" type="xsd:string" />
</message>
<message name="gestioneAssistitiRisposta">
<part name="assistito" type="tns:assistito" />
</message>
<portType name="gestioneAssistitiPortType">
<operation name="gestioneAssistiti">
<documentation>Ottiene i dati dell'assitito partendo dal codice fiscale</documentation>
<input message="tns:gestioneAssistiti"/>
<output message="tns:gestioneAssistitiRisposta"/>
</operation>
</portType>
<binding name="gestioneAssistitiBinding" type="tns:gestioneAssistitiPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="gestioneAssistiti">
<soap:operation soapAction="ottieniAssistito" style="rpc"/>
<input><soap:body use="encoded" namespace="http://test.it/test/soapServer/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace="http://test.it/test/soapServer/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
</binding>
<service name="gestioneAssistiti">
<port name="gestioneAssistitiPort" binding="tns:gestioneAssistitiBinding">
<soap:address location="http://test.it/test/soapServer/richiesta.php"/>
</port>
</service>
</definitions>
这是我的php服务器功能:
$server= new SoapServer("server.wsdl", array('soap_version' => SOAP_1_2));
$server->addFunction("gestioneAssistiti");
$server->handle();
function gestioneAssistiti($codFiscale){
$variabili = array(
'cognome' => 'Test',
'nome' => 'Stefano',
'codiceFiscale' => $codFiscale
);
return $variabili;
}
最后我唯一的结果是:&#34; nome&#34;。
为什么呢?错误在哪里?
答案 0 :(得分:0)
好的,我的错误是在php部分... 使用课程,它的工作原理! :)
$oggetto = new stdClass();
$oggetto->cognome = 'Venneri';
$oggetto->nome = 'Stefano';
$oggetto->codiceFiscale = $codFiscale;
return $oggetto;