Aller au contenu

Probleme pour passer un argument a un webService


Sujets conseillés

Posté

Bonjour,

Je n'arrive pas a passer des arguments a un web Service. Le WSDL est le suivant :

<wsdl:definitions name="PurgeStatusWS" targetNamespace="http://eux932.sgp.st.com/STAdmin/visibility/PurgeStatusWS">

<wsdl:types>

<xsd:schema targetNamespace="http://eux932.sgp.st.com/STAdmin/visibility/PurgeStatusWS">

<xsd:complexType name="ListStatus">

<xsd:sequence>
<xsd:element name="AmountToKeep" nillable="true" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ListStatusResponse">

<xsd:sequence>
<xsd:element name="fileList" nillable="true" type="tns:ArrayOfstring"/>
</xsd:sequence>
</xsd:complexType>

<xsd:complexType name="ArrayOfstring">

<xsd:sequence>
<xsd:element name="ArrayOfstringItem" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ListStatus" type="tns:ListStatus"/>
<xsd:element name="ListStatusResponse" type="tns:ListStatusResponse"/>
</xsd:schema>
</wsdl:types>

<wsdl:message name="PurgeStatusWS_PortType_ListStatusResponse">
<wsdl:part name="parameters" element="tns:ListStatusResponse">
</wsdl:part>
</wsdl:message>

<wsdl:message name="PurgeStatusWS_PortType_ListStatus">
<wsdl:part name="parameters" element="tns:ListStatus">
</wsdl:part>
</wsdl:message>

<wsdl:portType name="PurgeStatusWS_PortType">

<wsdl:operation name="ListStatus">
<wsdl:input message="tns:PurgeStatusWS_PortType_ListStatus">
</wsdl:input>
<wsdl:output message="tns:PurgeStatusWS_PortType_ListStatusResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>

<wsdl:binding name="STAdmin_visibility_PurgeStatusWS_Binder" type="tns:PurgeStatusWS_PortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="ListStatus">
<soap:operation soapAction="STAdmin_visibility_PurgeStatusWS_Binder_ListStatus" style="document"/>

<wsdl:input>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>

<wsdl:output>
<soap:body parts="parameters" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

<wsdl:service name="PurgeStatusWS">

<wsdl:port name="STAdmin_visibility_PurgeStatusWS_Port" binding="tns:STAdmin_visibility_PurgeStatusWS_Binder">
<soap:address location="http://eux932.sgp.st.com:5555/ws/STAdmin.visibility:PurgeStatusWS"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

On y voit qu'il y a une fonction ListStatus() qui prend un parametre <xsd:element name="AmountToKeep" nillable="true" type="xsd:string" minOccurs="0"/>. Cote serveur, ce parametre est optionnel.

Le code PHP de mon client est le suivant

/* Test sur l'appel du WS donnant la liste des rapports de purge */
$wsdl = 'http://eux932.sgp.st.com:5555/ws/STAdmin.visibility:PurgeStatusWS?WSDL';
$options = array('trace'=>true );

try {
$soapclt = new SoapClient($wsdl, $options);
$res = $soapclt->ListStatus( "3" );
echo "Ok !\n";
var_dump($res);
} catch (SoapFault $fault) {
trigger_error("SOAP Fault: (faultcode: $fault->faultcode, faultstring: $fault->faultstring)", E_USER_ERROR);
}

Le probleme est que le parametre de ListStatus est ignore. Vu que je suis nouveau dans le webService, c'est fortement probable que j'ai fait une ^$^$ mais ou ?

Merci

Lolo

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...