1

.NET 3.5(VS2008)を使用して開発されたWebサービスメソッドがあります。これは、いくつかの文字列(ユーザー名、パスワード、件名、ファイルタイプ)とBase64でコード化されたバイナリドキュメントを想定しています。

SOAPとHTTPPOSTの両方を有効にしました。SOAPは完全に機能しますが、HTTPPOSTリクエストを送信することはできません。サーバーは「サーバーは要求を処理できませんでした。--->ルートレベルのデータは無効です。行1、位置1」と応答します。

顧客はこの方法を使用して、アプリケーションからドキュメントをアップロードしています。

.NETはHTTPPOSTを使用した複雑な構造をサポートしていないと言われました。これをサポートする方法はありますか?

4

2 に答える 2

1

.NET は、httpBinding で POX (plain old xml) を使用する複雑な構造をサポートします。設定方法を説明する記事は次のとおりです。 http://fluxcapacity.net/2007/11/06/how-to-create-restpox-web-services-with-wcf/

注: すべての SOAP、XML、および JSON dto 更新は、引き続き HTTP POST で機能します。SOAP は、ペイロードを追加のマークアップでラップするだけで、Web サイト (つまり Ajax) クライアントのオーバーヘッドと複雑さを効果的に追加します。

同じ Web サービスを SOAP だけでなく、XML や JSON などの他のエンドポイントでも動作させたい場合は、追加の構成なしでこれらすべてのエンドポイントを有効にするこのオープンソースの Web サービス フレームワークに関心があるかもしれません。

于 2010-02-19T13:29:05.323 に答える
0

デスクトップ アプリから ASP Web ベースのアプリケーションに移行したいようです。

これは通常は素晴らしいアイデアですが、http/form を介して Web サービスにファイルを投稿しようとすると、困難な戦いになると思います。技術的には可能ですが、実装を考えるのに苦労しています。

入力変数とファイル入力を使用してフォームをプロキシとして使用し、フォーム (たとえば Web フォーム) に送信し、Web フォームのコードビハインドを使用して Web サービス クラスのインスタンスをスピンアップすると、うまくいくかもしれません (使用する必要はありません)。プロキシ、あなたはすでにあなたの側にいます)。

これが意味をなさない場合はお知らせください。シナリオに合わせて作成できない場合は、質問を更新して、希望する結果をより明確に述べてください。

Ajax 経由でこれを行っている場合は、サービス クラスを [ScriptService] 属性で装飾し、xmlhttp 経由で JSON を送信します。複雑な引数を簡単に送信できます。

手順については、 http://www.codeproject.com/Articles/38999/Consuming-ASP-net-WebServices-WCF-Services-and-sta.aspxを参照してください。

そうでない場合は、投稿の内容とデータのパッキング方法について詳しく説明してください。

于 2010-02-18T18:57:11.267 に答える