Groups | Blog | Home
all groups > dotnet web services enhancements > june 2006 >

dotnet web services enhancements : Problems with MTOM and WSE 3.0


aceven24
6/18/2006 8:07:01 AM
I'm getting some strange behavior when making multiple async calls coming
from threads from the thread pool on a WinApp Client. The Event Log has the
following events:

Event Type: Warning
Event Source: ASP.NET 2.0.50727.0
Event Category: Web Event
Event ID: 1309
Date: 6/18/2006
Time: 10:44:40 AM
User: N/A
Computer: LAPTOP
Description:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 6/18/2006 10:44:40 AM
Event time (UTC): 6/18/2006 2:44:40 PM
Event ID: cb22619132d040cbb26b655619f272e8
Event sequence: 52
Event occurrence: 1
Event detail code: 0

Application information:
Application domain: 86135903-1-127951154375312500
Trust level: Full
Application Virtual Path: /WebService
Application Path: C:\QPID\WebService\
Machine name: LAPTOP

Process information:
Process ID: 6096
Process name: WebDev.WebServer.EXE
Account name: LAPTOP\aventura

Exception information:
Exception type: HttpException
Exception message: Server cannot clear headers after HTTP headers have
been sent.

Request information:
Request URL: http://localhost:1497/WebService/AttachmentServices.asmx
Request path: /WebService/AttachmentServices.asmx
User host address: 127.0.0.1
User: LAPTOP\aventura
Is authenticated: True
Authentication Type: NTLM
Thread account name: LAPTOP\aventura

Thread information:
Thread ID: 4
Thread account name: LAPTOP\aventura
Is impersonating: False
Stack trace: at System.Web.HttpResponse.ClearHeaders()
at
System.Web.Services.Protocols.SoapServerProtocol.WriteException(Exception e,
Stream outputStream)
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type,
HttpContext context, HttpRequest request, HttpResponse response, Boolean&
abortProcessing)
at
System.Web.Services.Protocols.WebServiceHandlerFactory.CoreGetHandler(Type
type, HttpContext context, HttpRequest request, HttpResponse response)

Then I get another one from WSE 3.0 in the Event Log

Event Type: Error
Event Source: Microsoft WSE 3.0
Event Category: None
Event ID: 0
Date: 6/18/2006
Time: 10:44:40 AM
User: N/A
Computer: LAPTOP
Description:
HTTP/ASMX Message Receive Failure: System.Xml.XmlException: Data at the root
level is invalid. Line 2, position 1.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlTextReader.Read()
at Microsoft.Web.Services3.Xml.XmlSkipDTDReader.Read()
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean
preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at Microsoft.Web.Services3.SoapEnvelope.Load(Stream inStream)
at
Microsoft.Web.Services3.WseProtocol.CreateRequestSoapEnvelope(SoapServerMessage message)
at
Microsoft.Web.Services3.WseProtocol.GetRequestEnvelopeFromMessage(SoapServerMessage message)

Finally, I catch an exception via the threaded exception handler on a
winform app.

It is an InvalidOperationException that says "There was an error during
async processing." The Inner exception is another InvalidOperationException
that says ""Response is not well-formed XML." That has an inner exception of
Type XopDocumentException with a strange message stating {"WSE1608: No XOP
parts were located in the stream for the specified content-id:
<0.632862250640781250@example.org>"}

Any Ideas?
aceven24
6/20/2006 7:23:02 PM
Martin,

Thanks for your response. No I'm not calling ClearHeaders explicitly.

Thanks

Andy

[quoted text, click to view]
Martin Kulov [MVP]
6/21/2006 1:41:07 AM
[quoted text, click to view]

Do you have some code that calls ClearHeaders? It seems that you or
someother is calling ClearHeaders too late - after the first packet has been
sent to the client. You can not clear or set http header information after
the first packet is sent to client since it has the headers has been sent
already.

Regards,

--
Martin Kulov
http://www.codeattest.com/blogs/martin

MVP, MCT, MCSD, MCPD
AddThis Social Bookmark Button