Toute aide avec ceci serait appréciée; Je suis là depuis quelques jours maintenant.Envoyer une requête SOAP 'application/soap + xml' en utilisant ASP classique
Ci-dessous le code que j'ai jusqu'à maintenant; Malheureusement quand je l'exécute, je reçois une erreur HTTP 415; Impossible de traiter le message car le type de contenu 'text/xml; charset = UTF-8 'n'était pas le type attendu' application/soap + xml; jeu de caractères = utf-8 '.
Je dois envoyer le type d'application content/soap + xml car c'est le seul type autorisé par le service Web; et je dois le faire en ASP classique.
J'ai essayé de changer la ligne 'envoyer' à "objRequest.send objXMLDoc.XML", mais cela me donne alors un HTTP 400 Bad Request erreur.
strXmlToSend = "<some valid xml>"
webserviceurl = "http://webservice.com"
webserviceSOAPActionNameSpace = "avalidnamespace"
Set objRequest = Server.createobject("MSXML2.XMLHTTP.3.0")
objRequest.open "POST", webserviceurl, False
objRequest.setRequestHeader "Content-Type", "application/soap+xml"
objRequest.setRequestHeader "CharSet", "utf-8"
objRequest.setRequestHeader "action", webserviceSOAPActionNameSpace & "GetEstimate"
objRequest.setRequestHeader "SOAPAction", webserviceSOAPActionNameSpace & "GetEstimate"
Set objXMLDoc = Server.createobject("MSXML2.DOMDocument.3.0")
objXMLDoc.loadXml strXmlToSend
objRequest.send objXMLDoc
set objXMLDoc = nothing
Pourriez-vous utiliser Fiddler ou un outil d'analyse du trafic http pour voir ce qui est POSTé sur le webservice (lorsqu'il est utilisé par le navigateur)? Ensuite, faites en sorte que votre XMLHttpRequest publie le même contenu. – shahkalpesh
@shahkalpesh: Comment obtenez-vous un navigateur pour "consommer" un service Web ?? Surtout l'un nécessite une méthode POST ?. – AnthonyWJones