Request Object

D

deepak

Hi All,

i m facing a strange situation with request object for asp.net.As per our
project i have to transfer this request from Page1.aspx to Page2.aspx if
contyp = "text/xml".If i remove(ie. comment) the line
xmlInDoc.Load(Request.InputStream) from PAGE1.ASPX then there is no error in
PAGE2.ASPX and it process it without any error,but if i keep this line
xmlInDoc.Load(Request.InputStream) in PAGE1.ASPX then PAGE2.ASPX give me
error on line Response.Write(docOUT.xml) saying

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
<MethodResult
Status="2"><Error><ErrorNumber>-1071651496</ErrorNumber><ErrorDescription>An
XML parse error occured.
File Position: 0
Line: 0
Line Position: 0
Reason: XML document must have a top level element.

Source Text: </ErrorDescription><ErrorSource>modXML.LoadXMLDocumentFromURL \\
W6IntInMsgLib</ErrorSource><ErrorLine>0</ErrorLine></Error></MethodResult>

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

I can not remove(comment) the line xmlInDoc.Load(Request.InputStream) in
PAGE1.ASPX as that is needed for some processing in PAGE.ASPX like
Dim xmlearlyStart As XmlNode =
xmlInDoc.SelectSingleNode("SXPTaskUpdateOrAdd/Task/EarlyStart") etc.




Following is my code:

PAGE1.aspx

contyp = Request.ContentType() ' Read content type of request

If contyp = "text/xml" Then
Dim xmlInDoc As New XmlDocument
Dim xmlInUpdateDoc As New XmlDocument

xmlInDoc.Load(Request.InputStream)
Server.Transfer("w6inboundprocessor.aspx", True)


PAGE2.aspx

Public Class w6inboundprocessor
Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

'This call is required by the Web Form Designer.
<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()

End Sub

'NOTE: The following placeholder declaration is required by the Web Form
Designer.
'Do not delete or move it.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Init
'CODEGEN: This method call is required by the Web Form Designer
'Do not modify it using the code editor.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

On Error Resume Next

Const W6PIncomingProcessor = "W6IntUtilsGWWrap.W6IntInMsgProcGW.1"

Dim binData
Dim objProcessor
Dim docOUT
Dim blnSuccess


binData = Request.BinaryRead(Request.TotalBytes())

If Err.Number <> 0 Then Call XMLError(Err)

blnSuccess = False
While Not blnSuccess
' Based on Microsoft's articles there is no need to use the
Server object to create objects.
' If we do use the Server objects it costs in performance
' and can cause some instability as the bug suggests.
objProcessor = CreateObject(W6PIncomingProcessor)


If Err.Number = 0 Then
blnSuccess = True
Else
If Err.Number <> 2147549448 Then
Call XMLError(Err)
blnSuccess = True
End If
End If
End While
' Danny 15/5/05 - Bug #23983
' Based on Microsoft's articles there is no need to use the Server
object to create objects.
' If we do use the Server objects it costs in performance
' and can cause some instability as the bug suggests.
docOUT = CreateObject("Microsoft.XMLDOM")
Call docOUT.loadXML(objProcessor.ProcessMessage(binData))
If Err.Number <> 0 Then Call XMLError(Err)
Response.ContentType = "text/xml"
' Gil (27/2/05): Bug: #23639 - Added unicode support as in the SXP
asp file
' Reviewed with Sasha.
Response.Charset = "utf-8"

'docOUT.save(Response)
Response.Write(docOUT.xml)
Response.End()



End Sub
Sub XMLError(ByVal Err)
Dim strOutput

strOutput = "<MethodResult><Error>" & _
"<ErrorNumber>" & Err.Number & "</ErrorNumber>" & _
"<ErrorDescription>" & Err.Description &
"</ErrorDescription>" & _
"<ErrorSource>" & Err.Source & "</ErrorSource>" & _
"</Error></MethodResult>"

Call Response.Write(strOutput)
Response.End()
End Sub
End Class



Kindly help me. I am waiting for urs replies and thanks in advance from my
side.


-Deepak
+919886735837
(e-mail address removed)
(e-mail address removed)
 
K

Kevin Spencer

Why don't you create the XML document from the Request.InputStream in the
second page?

--
HTH,

Kevin Spencer
Chicken Salad Surgeon
Microsoft MVP
 
D

deepak

because the second page needs it in binary format ONLY for processing by that
programid

Dim binData = Request.BinaryRead(Request.Totalbytes())

Call docOUT.loadXML(objProcessor.ProcessMessage(binData))

kindly let me know how can i proceed plz.

- Deepak
 
B

bruce barker

the error means the input stream is not valid xml. you should write it to a
file and see what it looks like. you may need to preprocess to convert it to
valid xml before you try to load it into a dom.

-- bruce (sqlwork.com)
 
D

deepak

No,Actually the code works if i comment line xmlInDoc.Load(Request.InputStream)
in PAGE1.ASPX and limitation of second page is that it has to again use the
request object and process the binary format of it..

Kinldy suggest me...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

Request Object 2
xml parse error 0
Request.InputStream 0
Error 0
Object reference not set in ddl 1
Objects referencing smae location 2
Use Request 1
dataGrid is undefined in codebehind page? 4

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top