Consommer web service de résultats en “Incapable de gérer la demande sans une action valide le paramètre”
J'ai besoin de consommer des services web .NET site:
https://www.iyardiasp.com/8223third_17/webservices/ItfResidentData.asmx
Pour les préliminaires de la consommation j'utilise soit Fiddler ou curl. Tous les deux donnent le même message d'erreur:
<faultstring>Unable to handle request without a valid action parameter. Please supply a valid soap action.</faultstring>
Ma commande curl:
curl-d @GetVersionNumber.xml https://www.iyardiasp.com/8223third_17/webservices/ItfResidentData.asmx
Veuillez voir le fichier GetVersionNumber.xml ci-dessous:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetVersionNumber xmlns="http://tempuri.org/YSI.Interfaces.WebServices/ItfResidentData" />
</soap:Body>
</soap:Envelope>
L'ajout de SOAP-ENV:Header comme élément soap:Envelope n'aide pas
<SOAP-ENV:Header Content-Type="text/xml" Host="www.iyardiasp.com" SOAPAction="http://tempuri.org/YSI.Interfaces.WebServices/ItfResidentData/GetVersionNumber"/>
Ajouter le Savon d'Action comme en-tête n'aide pas.
Dans ce cas, la commande curl est:
curl-H "SOAPAction: http://tempuri.org/YSI.Interfaces.WebServices/ItfResidentData/GetVersionNumber" -d @GetVersionNumber.xml "https://www.iyardiasp.com/8223third_17/webservices/itfapplicantscreening.asmx"
Et la réponse est:
<faultstring>Server did not recognize the value of HTTP Header SOAPAction: http://tempuri.org/YSI.Interfaces.WebServices/ItfResidentData/GetVersionNumber.</faultstring>
OriginalL'auteur Alex | 2013-10-03
Vous devez vous connecter pour publier un commentaire.
Vous devez fournir les
SOAPAction
comme un en-tête HTTP, pas un en-tête SOAP. Voici comment faire une demande complète pourrait ressembler lorsqu'elle est effectuée avec SoapUI (avis de la quatrième ligne):Pour
curl
vous pouvez utiliser le-H
paramètre pour envoyer leSOAPAction
en-tête, mais je vous suggère utilisation SoapUI pour votre préliminaire de la consommation (il comprend lesSOAPAction
en-tête par défaut et bat la console toute la journée).Si vous avez besoin d'utiliser
curl
, essayer quelque chose comme cela (tout doit être sur une seule ligne; séparés pour des raisons de lisibilité):dans la
GetVersionNumber.xml
fichier:voir ma réponse mis à jour.
Bogdan, veuillez voir mon ajout, à la demande, merci
Bogdan j'ai vérifié de Fiddler avec vos en-têtes - fonctionne très bien, merci. Boucles il ne fonctionne pas encore
Bogdan, j'ai essayé plusieurs variantes: par exemple:curl-H "Content-Type: application/soap+xml;SOAPAction: "tempuri.org/YSI.Interfaces.WebServices/ItfResidentData/..."; de l'Hôte: http://www.iyardiasp.com" -d @GetVersionNumber.xml iyardiasp.com/8223third_17/webservices/...". C'est le même résultat
OriginalL'auteur Bogdan