destroyedlolo Posté 8 Avril 2010 Posté 8 Avril 2010 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
destroyedlolo Posté 9 Avril 2010 Auteur Posté 9 Avril 2010 Bon, ca marche une fois que je suis passer en rpc/literal Ne peux-t-on passer des arguments en document/literal ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant