2011-11-15 8 views
0

をIワーキングASP.NetのテストWebサービスがありますが、私のように500エラーを得続ける:私はJavaScriptを使用してそれを呼び出すときjavascriptの石鹸エラー呼び出しasp.net Webサービス

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

これは、単一のパラメータを文字列として受け取り、それをクライアントに返す単純なWebサービスです。助けてください!

link to code here

+1

コード?私たちがあなたが試したことが分からなければ、助けが困難です。 – drdwilcox

+0

JSが同じサーバー上にあることを確認する以外は、相対パスではなくWebサービスへのフルパスを入れてみてください。同じレベル以上のディレクトリのみにJSコールを制限する同じ起点ポリシーhttp://en.wikipedia.org/wiki/Same_origin_policyに注意してください。あなたはブラウザで直接電話できるのですか? – bcmoney

答えて

1

contentTypeを変更しようと、問題が正しくtehのヘッダ内のSOAPActionを設定しました:

$アヤックス({ タイプ: "ポスト"、 URL:ターゲット、 のcontentType: "テキスト/ XML"、 データ:たSOAPBody、 データ型: "XML"、 PROCESSDATA:偽、 beforeSend:関数(XHR){ xhr.setRequestHeader( "SOAPAction"、 "http://blahblah.com/Services/MethodName" ); }、 ....

0

は、あなたのmess変数が'?a=1&b=2'のようなGETスタイルのクエリ文字列が含まれていないことを確認してください。 JSONなどのPOST形式で送信する必要があります。これは役立つかもしれない人のために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", 
     }); 
関連する問題