我遇到了麻烦。我们正在与另一家公司合作,我们需要使用由他们开发的WCF服务。我唯一能做的就是整合文档和他服务中的XSD文件。我使用xsd visual studio工具来生成使用我的代理消耗的类。我一直在尝试使用HttpWebRequest创建自己的代理类,但他的服务总是响应错误400错误请求。
有没有人知道如何努力工作。
这是我的代码,对象requ是我的xsd生成的类的类型。
public object Test(Testing.TestRequest requ)
{
string responseFromServer;
HttpWebRequest request =
(HttpWebRequest)HttpWebRequest.Create("http://url.svc");
request.Method = "POST";
request.Headers.Add("SOAPAction", "MethodName");
string xmlDocument = XmlSerialize<Testing.TestRequest>(requ);
byte[] byteArray = Encoding.UTF8.GetBytes(xmlDocument);
request.ContentType = "application/soap+xml; charset=utf-8";
request.Accept = "text/xml";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
request.ProtocolVersion = HttpVersion.Version11;
request.Credentials = CredentialCache.DefaultNetworkCredentials;
WebResponse response = request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
return null;
}