的,用於顯示的方法是工作在瀏覽器即http://localhost:2617/UserService.svc/testWCF客戶端:傳遞XML字符串中使用WebInvoke
out參數當我添加一個參數,我不能瀏覽它也是WCF REST服務。
我有以下合同。
[ServiceContract]
public interface IUserService
{
[OperationContract]
[WebInvoke(Method="PUT",UriTemplate = "/tes/{name}",
BodyStyle=WebMessageBodyStyle.WrappedRequest)]
string Display(string name);
}
public string Display(string name)
{
return "Hello, your test data is ready"+name;
}
我嘗試使用下面的代碼
string url = "http://localhost:2617/UserService.svc/test"; //newuser
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
string xmlDoc1 = "<Display xmlns=\"\"><name>shiva</name></Display>";
req.Method = "POST";
req.ContentType = "application/xml";
byte[] bytes = Encoding.UTF8.GetBytes(xmlDoc1);
req.GetRequestStream().Write(bytes, 0, bytes.Length);
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
Stream responseStream = response.GetResponseStream();
var streamReader = new StreamReader(responseStream);
var soapResonseXmlDocument = new XmlDocument();
soapResonseXmlDocument.LoadXml(streamReader.ReadToEnd());
叫我無法得到輸出that.please幫我在這。
你在客戶端的方法是「POST」,但在服務器端你有Method =「PUT」 - 我以爲他們必須是相同的 - 嘗試將服務器更改爲POST也許? – kmp 2012-04-04 07:20:29
我改變它POST也...我嘗試了不同的方式,但它不工作.. – 2012-04-04 11:46:26
你還沒有聲明一個命名空間,所以命名空間將是http://tempuri.org - 而不是空白。 – Chris 2012-04-05 07:30:11