これは私の状況です。私は、最初のサービスと私のWebアプリケーションの間の仲介役をする別のWCFサービスから、(wcfではなく)第三者のWebサービスを消費しなければなりません。この問題を解決するには、プロキシを生成するためにアプリケーションにWeb/Service Referenceを追加する必要がありますが、参照を追加することはできません。エラーが返される可能性があります。 。WCFサービスからのPOSTによるWebサービスの使用
このサービスは、GETまたはPOSTのいずれかでのみ使用できます。 WebページでjQueryを使ったajax呼び出しからGETとPOSTの両方でサービスを利用することに成功しましたが、C#のwcfサービスの中からサービスをどのように消費するかわかりません。
例では、サービスからの要求をGETである:
http://webservice.server.com/services/myservice?user=[username] &パスワード= [パスワード] &値1 = [someValueの] &値2 = [別の値]
レスポンスは操作のステータスコードとステータスメッセージを含むxmlで、これをデータベースに保存します。
これを行うにはどうすればよいですか?
は
SOLUTION ...任意の助けのために正しい方向に私を指しているためショーンに
感謝、ありがとうございました。私はそれをやった方法:
参考記事:How to use HttpWebRequest to send POST request to another web server
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "username=" + username;
postData += ("&password=" + password);
postData += ("&value1=" + val1);
postData += ("&value2=" + val2);
byte[] data = encoding.GetBytes(postData);
// Prepare POST web request...
HttpWebRequest myRequest =
(HttpWebRequest)WebRequest.Create(new Uri("http://webservice.server.com/services/myservice"));
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;
Stream newStream = myRequest.GetRequestStream();
// Send the data.
newStream.Write(data, 0, data.Length);
newStream.Close();
// Get response
using (HttpWebResponse response = myRequest.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// Read the whole contents and return as a string
result = reader.ReadToEnd();
}
XDocument doc = XDocument.Parse(result);
// Read XML
をしてくださいあなたは私の解決策、異議または改善上の任意のコメントを持っている場合は、すべてのコメントは歓迎されています。
私は正しい方向に私を指し示すための正しい答えを与えるつもりです。 ..しかし、msdnリンクはあまり役に立たなかったし、実際には代わりにHttpWebRequestを使用して終了したので、私はposします同様の問題を抱えてこの質問に遭遇した人は、私が実際に解決した方法を知ることができます。ご協力いただきありがとうございます! – AJC