2011-11-13 10 views
0

変更された資格情報を使用してSOAP要求を別のWebサービスアプリケーションに転送するアプリケーション(またはWebサービス)をIIS 6でホストしようとしています。今のIIS6でASP.NETでSOAPリクエストを転送する方法は?

私は私のアプリのPage_Loadの中でこのようなものを持っている:

HttpWebRequest newRequest = (HttpWebRequest)WebRequest.Create(newUrl); 
newRequest.ContentType = original.ContentType; 
newRequest.ContentLength = original.ContentLength; 
newRequest.Method = original.HttpMethod; 
newRequest.UserAgent = original.UserAgent; 
newRequest.Credentials = new NetworkCredential("login","password","domain"); 
HttpWebResponse response = (HttpWebResponse)newRequest.GetResponse(); 

問題は、ん。ContentLengthは> 0であると私はオープンRequestStreamをしないので、それが最後の行にクラッシュしているIドン理由オリジンの要求からそれを得る方法を知っていません。

「私は何をしようとしているのか簡単な解決策があると思うので、この質問に「HttpWebRequestからSOAPリクエストを取得する方法」というタイトルは付けませんでした。たぶんJavaのような要求ディスパッチャのようなものです。

ご協力いただければ幸いです。

答えて

1

SOAPリクエストに関する魔法はありません。結局のところHTTPだけです。あなたはこのようなものを使用して要求本体をコピーすることができるはずです。

Context.Request.InputStream.CopyTo(newRequest.GetRequestStream()); 

また、あなたは、元の要求に設定される可能性があります他のすべての重要なHTTPヘッダをコピーして確認する必要があります。

関連する問題