【发布时间】:2013-12-19 13:45:09
【问题描述】:
我正在编写以下代码。
Int32 port = 7101;
IPAddress localAddr1 = IPAddress.Parse("117.239.85.13");
MemoryStream ms = new MemoryStream();
XmlDocument doc = new XmlDocument();
String message_text = "<estel><header><requesttype>CREDIT</requesttype></header><request><agentcode>910000006789</agentcode><vendorcode>HELLOTV</vendorcode><pin>***************</pin><destination>919555518484</destination><agenttransid>*****</agenttransid><amount>10</amount><productcode>SKUA</productcode><clienttype>portal</clienttype><comments>abcd</comments></request></estel>";
doc.LoadXml(message_text);
doc.Save(ms);
ms.Seek(0, SeekOrigin.Begin);
Byte[] data = ms.ToArray();
TcpClient client = new TcpClient();
client.Connect(localAddr1, port);
MessageBox.Show(client.Connected.ToString()); // Connection was established here. Returns TRUE value
NetworkStream stream = client.GetStream();
StreamWriter writer = new StreamWriter(stream, Encoding.UTF8);
writer.AutoFlush = false;
writer.Write(Encoding.UTF8.GetBytes(message_text).Length);
writer.Flush();
stream.Write(data, 0, data.Length);
MessageBox.Show(stream.DataAvailable.ToString()); // Returns TRUE value
Byte[] bytes = new Byte[client.ReceiveBufferSize];
string responseData;
stream.Read(bytes, 0, Convert.ToInt32(client.ReceiveBufferSize));
responseData = Encoding.UTF8.GetString(bytes); // We are getting response here
stream.Close();
client.Close();
textBox1.Text = responseData.ToString();
在这里,我使用 IP 和端口号向 Web 服务提供商发送 XML 数据。发送请求后,我收到以下响应 15 次
<estel><header><responsetype>INVALID REQUEST</responsetype></header></estel>
似乎正在附加一些额外的内容。如何查看正在发送的请求,以便更正它?
【问题讨论】: