6

HTTP GET メソッドを使用するように ASMX Web サービスをセットアップしました。基本的な String および Int パラメーターを受け取る単純なメソッドは正常に機能しており、呼び出しMyService.asmx/MethodName?Param=Valueて XML で応答を返すことができます。

ただし、null 可能な Int (つまり ) を持つメソッドがある場合、次のint?エラーが発生します。

< メソッド名 > Web サービスのメソッド名が無効です。

メソッドが存在するだけで GET スコープ内にないため、エラー メッセージは紛らわしいものです。これは、null 許容型が複雑すぎて URL を介して渡すことができないためだと思われますが、これに関するドキュメントや SO の投稿が見つかりません。

リストやカスタム クラスなどの複雑な型が GET を使用して機能しないことは理解していますが、単純な null 許容 int または null 許容 datetime は、URL から省略されているかどうかを検出するだけでネイティブに処理できると想定していました。それはそれほど単純ではないと思います!

アドバイスや回避策をいただければ幸いです。

ありがとう、ティム

4

2 に答える 2

2

nullable int はそれほど複雑ではありません。それは生成する必要があります

  <s:element minOccurs="1" maxOccurs="1" name="Param" nillable="true" type="s:int" /> 

WSDL で。この投稿をチェックしてください。おそらく、エラーは何か他のものである可能性がありますか?

于 2011-03-14T19:41:33.567 に答える