Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=81886 --- shadow/81886 2007-06-15 19:00:58.000000000 -0400 +++ shadow/81886.tmp.14465 2007-06-15 19:00:58.000000000 -0400 @@ -0,0 +1,69 @@ +Bug#: 81886 +Product: Mono: Class Libraries +Version: 1.2 +OS: +OS Details: CentOS 4.2 +Status: NEW +Resolution: +Severity: +Priority: Normal +Component: Sys.Web.Services +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: SoapException / Fault does not deserialize detail field (expects namespace) + +Description of Problem: + +The Detail field of a SoapException is always null when calling an axis +SOAP server. + +After dumping the line protocol, the SOAP Fault response seems to be well +formed. The detail field is not parsed because +System.Web.Services.Protocols.FaultReader expects the "detail" field to +have a namespace, but axis sends it unqualified with no default namespace +specified. + +From Fault.cs:167: + else if (Reader.LocalName == "detail" && Reader.NamespaceURI == +"http://schemas.xmlsoap.org/soap/envelope/" && !b3) { + +Says it all really. Unless a default namespace has been set in the +XmlReader (is that possible?), this is always skipped. Here is the soap +response (as intercepted by me). + +> HTTP/1.1 500 Internal Server Error +> Server: Apache-Coyote/1.1 +> Content-Type: text/xml;charset=utf-8 +> Transfer-Encoding: chunked +> Date: Sat, 04 Aug 2007 08:39:00 GMT +> Connection: close +> +> 2a0 +> <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv= +> "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.o +> rg/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc +> e"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server.generalExcep +> tion</faultcode><faultstring></faultstring><detail><ns1:fault xmlns:ns +> 1="urn:server.dlm.derby.com"><ns1:code>3</ns1:code></ns1:fault><ns2:ex +> ceptionName xmlns:ns2="http://xml.apache.org/axis/">com.derby.dlm.serv +> er.LicenseException</ns2:exceptionName><ns3:hostname xmlns:ns3="http:/ +> /xml.apache.org/axis/">rhbuild.dai.com</ns3:hostname></detail></soapen +Backend device was closed. +> v:Fault></soapenv:Body></soapenv:Envelope> + +As you can see, the detail field has no namespace specified. Now I'm not an +XML god, but I can't see that the <detail /> element is going to have a +namespace associated with it. + +The question is: is this a bug in axis, should the FaultReader be expecting +an empty namespace here, or is the XmlReader not correctly filling in the +namespace somehow? Possibly somebody is enough of a SOAP expert to know +which part is broken? + +My coworker assures me that this works in .NET, but I have not confirmed that. + +(Note, the same may apply to the Fault12Reader...) _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
