2011-11-15 6 views
0

je un test ASP.Net travail service web, mais je continue à recevoir 500 erreurs comme:erreur javascript soap appeler service web asp.net

"System.InvalidOperationException: Request format is invalid: text/xml. 
    at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters() 
    at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest() 
" 

quand je l'appelle avec javascript.

C'est un service Web simple qui prend un seul paramètre sous forme de chaîne et le renvoie au client. S'il vous plaît aider!

link to code here

+1

Code? Difficile d'aider si nous ne savons pas ce que vous avez essayé. – drdwilcox

+0

Essayez de mettre le chemin complet vers le service Web plutôt que relatif, à part que vous vous assurez que le JS est sur le même serveur. Notez la politique de même origine http://en.wikipedia.org/wiki/Same_origin_policy qui limitera votre appel JS aux seuls répertoires de même niveau ou plus haut. Êtes-vous capable d'appeler directement dans le navigateur? – bcmoney

Répondre

1

Pour ceux d'entre vous qui cela pourrait aider, la question se couchait SoapAction dans Teh-tête correctement:

.ajax $ ({type : "post", url: cible, contentType: "text/xml", données: soapBody, dataType: "xml", processData: false, beforeSend: function (XHR) { xhr.setRequestHeader ( "SOAPAction", "http://blahblah.com/Services/MethodName" ); }, ....

0

Assurez-vous que votre variable mess ne contient pas la chaîne de requête de style GET comme '?a=1&b=2'. Vous devez l'envoyer au format POST, par exemple dans JSON. Essayez de changer contentType à contentType: "application/json; charset=utf-8"

$.ajax({ 
       url: service, 
       type: "POST", 
       dataType: "xml", 
       data: '{key: value}', 
       complete: endTest, 
       error: processError, 
       contentType: "application/json; charset=utf-8", 
     });