H
honguin
Hi,
With the following code, I have created a web request to a url which I
am making a HTML POST with the html page request.htm, even though it
makes a HTML POST, the StreamReader produces a XML response error
shown after the code, with the description "Parameters xmldata,
$filestream and $filedata are all missing. One of these must not be
null."
Any suggestions in how to resolve this error?
Many thanks,
Hon
WebRequest request = WebRequest.Create("********************");
NetworkCredential networkCredential;
string username = "*****", password = "*********";
private string sendRequestToCOLT()
{
try
{
// create reader and open file.
StreamReader re = File.OpenText(@"request.htm");
// read a lines of text
string text = "", input = null;
while ((input = re.ReadLine()) != null)
{
input = input + "\n";
text = text + input;
}
byte[] byteArray = Encoding.UTF8.GetBytes(text);
networkCredential = new NetworkCredential(username,
password);
request.Credentials = networkCredential;
request.Method = "POST";
request.ContentLength = byteArray.Length;
request.ContentType = "application/x-www-form-
urlencoded";
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
StreamReader reader = new
StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();
response.Close();
return result;;
}
catch (Exception e)
{
messageTextBox.Text = "EXCEPTION ERROR: " +
e.Message.ToString();
return null;
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------
<xml version="1.0"?>
<Acknowledgement>
<versionOfXmlSchema>1.0</versionOfXmlSchema>
<receiverSystem>B2BGateway</receiverSystem>
<receiverId>B2BGateway</receiverId>
<receiveTime>20070710-16:08:32</receiveTime>
<senderId>Unknown</senderId>
<senderTime>20070710-16:08:32</senderTime>
<dateMessage></dateMessage>
<message>
<messageType>B2BGateway</messageType>
<messageCode>-1</messageCode>
<messageDescription>com.wm.app.b2b.server.ServiceException: [ISS.
0086.9091] Parameters xmldata, $filestream and $filedata are all
missing. One of these must not be null.
at pub.xml.xmlStringToXMLNode(xml.java:523)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
85)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
58)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:
322)
at
com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:
612)
at
com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:
44)
at
com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:
235)
at
com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:
49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at
com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:
39)
at
com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:
411)
at
com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:
521)
at
com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:
369)
at
com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:
168)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
at com.wm.lang.flow.FlowState.step(FlowState.java:438)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:403)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:
982)
at
com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:
612)
at
com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:
44)
at
com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:
235)
at
com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:
49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at
com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:
39)
at
com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:
411)
at
com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:
521)
at
com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:
369)
at
com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at
com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:
129)
at
com.wm.app.b2b.server.comm.DefaultSocketRequestHandler.handleMessage(DefaultSocketRequestHandler.java:
181)
at com.wm.util.comm.Connection.handleMessage(Connection.java:
136)
at com.wm.util.comm.Connection$PollRunner.run(Connection.java:
465)
at com.wm.util.pool.PooledThread.run(PooledThread.java:105)
at java.lang.Thread.run(Thread.java:832)
</messageDescription>
</message>
</Acknowledgement>
With the following code, I have created a web request to a url which I
am making a HTML POST with the html page request.htm, even though it
makes a HTML POST, the StreamReader produces a XML response error
shown after the code, with the description "Parameters xmldata,
$filestream and $filedata are all missing. One of these must not be
null."
Any suggestions in how to resolve this error?
Many thanks,
Hon
WebRequest request = WebRequest.Create("********************");
NetworkCredential networkCredential;
string username = "*****", password = "*********";
private string sendRequestToCOLT()
{
try
{
// create reader and open file.
StreamReader re = File.OpenText(@"request.htm");
// read a lines of text
string text = "", input = null;
while ((input = re.ReadLine()) != null)
{
input = input + "\n";
text = text + input;
}
byte[] byteArray = Encoding.UTF8.GetBytes(text);
networkCredential = new NetworkCredential(username,
password);
request.Credentials = networkCredential;
request.Method = "POST";
request.ContentLength = byteArray.Length;
request.ContentType = "application/x-www-form-
urlencoded";
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
StreamReader reader = new
StreamReader(response.GetResponseStream());
string result = reader.ReadToEnd();
response.Close();
return result;;
}
catch (Exception e)
{
messageTextBox.Text = "EXCEPTION ERROR: " +
e.Message.ToString();
return null;
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------
<xml version="1.0"?>
<Acknowledgement>
<versionOfXmlSchema>1.0</versionOfXmlSchema>
<receiverSystem>B2BGateway</receiverSystem>
<receiverId>B2BGateway</receiverId>
<receiveTime>20070710-16:08:32</receiveTime>
<senderId>Unknown</senderId>
<senderTime>20070710-16:08:32</senderTime>
<dateMessage></dateMessage>
<message>
<messageType>B2BGateway</messageType>
<messageCode>-1</messageCode>
<messageDescription>com.wm.app.b2b.server.ServiceException: [ISS.
0086.9091] Parameters xmldata, $filestream and $filedata are all
missing. One of these must not be null.
at pub.xml.xmlStringToXMLNode(xml.java:523)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
85)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
58)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
60)
at java.lang.reflect.Method.invoke(Method.java:391)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:
322)
at
com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:
612)
at
com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:
44)
at
com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:
235)
at
com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:
49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at
com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:
39)
at
com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:
411)
at
com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:
521)
at
com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:
369)
at
com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at com.wm.app.b2b.server.BaseService.invoke(BaseService.java:
168)
at com.wm.lang.flow.FlowInvoke.invoke(FlowInvoke.java:324)
at com.wm.lang.flow.FlowState.invokeNode(FlowState.java:581)
at com.wm.lang.flow.FlowState.step(FlowState.java:438)
at com.wm.lang.flow.FlowState.invoke(FlowState.java:403)
at com.wm.app.b2b.server.FlowSvcImpl.baseInvoke(FlowSvcImpl.java:
982)
at
com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:
612)
at
com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:
44)
at
com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:
235)
at
com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:
49)
at com.wm.app.b2b.server.ACLManager.process(ACLManager.java:198)
at
com.wm.app.b2b.server.invoke.DispatchProcessor.process(DispatchProcessor.java:
39)
at
com.wm.app.b2b.server.AuditLogManager.process(AuditLogManager.java:
411)
at
com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:
521)
at
com.wm.app.b2b.server.invoke.InvokeManager.invoke(InvokeManager.java:
369)
at
com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:246)
at
com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage(DefaultServerRequestHandler.java:
129)
at
com.wm.app.b2b.server.comm.DefaultSocketRequestHandler.handleMessage(DefaultSocketRequestHandler.java:
181)
at com.wm.util.comm.Connection.handleMessage(Connection.java:
136)
at com.wm.util.comm.Connection$PollRunner.run(Connection.java:
465)
at com.wm.util.pool.PooledThread.run(PooledThread.java:105)
at java.lang.Thread.run(Thread.java:832)
</messageDescription>
</message>
</Acknowledgement>