2015-11-05 74 views
0

首先做出聲明我是新手。如何從一個Wcf服務HttpPost到另一個?

現在,我有一個網站,發送一個字符串的方法在WCF服務應該張貼到另一個WCF服務B

我能夠從Web應用程序發送的字符串服務A,但我似乎不能HttpPost它B.你能拋出一些光?

WEB APP:

SpendWcfRef.SPEND WcfSpend = new SpendWcfRef.SPEND(); 
     string str=WcfSpend.TestPost("abc"); //this is service A 

服務A

[OperationContract] 
    string TestPost(string test); 



public string TestPost(string test) 
    { 

     System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost:58486/CIBIL_WCF/Service.svc/TestInsert?testobj="+test+""); 
     WebResponse response = request.GetResponse();//The remote server returned an error: (400) Bad Request. 
     string result = new StreamReader(response.GetResponseStream()).ReadToEnd(); 
     return "Yeey".ToString(); 
    } 

服務B

 [OperationContract] 
     string TestInsert(string testObj); 

public string TestInsert(string testobj) 
    { 

     return testobj.ToString().ToUpper(); 
    } 

回答

0

你爲什麼不加ServiceB作爲您的ServiceA項目中的服務參考?通過這種方式,而不是使用HttpWebRequest,你,你可以用它來打電話ServiceB

代理對象參考https://msdn.microsoft.com/en-us/library/bb628652.aspx

+0

假設我有通過HTTP POST發送數據。沒有其他選擇。 – Arbaaz

+0

在這種情況下,您需要形成適當的SOAP請求並執行POST。 WCF服務默認情況下不需要REST端點。所以對它的一個簡單的HTTP GET請求將不起作用。在發送請求時,您還需要考慮安全性等其他內容。瞭解要遵循的SOAP結構的簡單方法是從現有的工作客戶端(如SOAPUI)獲取網絡跟蹤並嘗試複製它。 – Shinva

相關問題