2017-04-24 14 views
0

XML文書の形式でなければならないパラメータとして文字列を受け入れるWebメソッドを使用して、VB.NETでWebサービスを開発しました。XMLの文字列定式化をIISのWebサービスに渡す

ブラウザを開いてサービスを正常に呼び出すことができ、文字列を渡す必要があるテキストボックスが表示されます。

私のXMLをコピーしてボックスに貼り付けると、すぐに私はエラーが発生します。私は、単純なXML形式の文字列、例えば1つのノードだけを置いても、これを取得します。

この

はエラーです:

[ValidateInput(false)] 

これは、それがXMLを読み取ることができるようにではなく、それよりも、それはおそらく可能性があるため、例外をスローする必要があります

System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (Xmlin="<?xml version="1.0" ..."). at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) at System.Web.HttpValueCollection.EnsureKeyValidated(String key) at System.Web.HttpValueCollection.Get(String name) at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection) at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters() at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

+0

実際には悪質な入力からの保護です。あなたは入力の検証を無効にする必要があります –

答えて

0

法上の次の属性を入れて危険な。

警告:これによりすべての検証が無効になり、潜在的にエンドポイントが何らかの攻撃や脆弱性の形にさらされる可能性があります。あなたがこれに何か問題がある場合は、thisのポストも同様の質問を参照してください。

+0

ありがとうProNinja、それを試してみましょう。 – Moe

+0

@Moeはうまくいきましたか? – Jaxi

+0

こんにちは、Webメソッドの上にを追加しようとしましたが、vb.netで認識されないようです。それはどのクラスから派生したものですか?私はwebMethodを知っています。私はSystem.Web.Servicesを使用しています。 – Moe

関連する問題