I am in the process of adding a Javascript client generator to CXF that will, amongst other things, handle XML namespaces correctly.
Dan, if I read him correctly, he's claiming to have gotten unqualified output from a prior version. I'm puzzled. > -----Original Message----- > From: Daniel Kulp [mailto:[EMAIL PROTECTED] > Sent: Thursday, November 08, 2007 5:03 PM > To: [email protected] > Cc: Vespa, Anthony J > Subject: Re: SOAP Namspace change in 2.0.3 - Please Advise > > > Well, yes. The two xml fragments are technically equivilent. > > <blah xmlns="http://foo.com">hello</blah> > and > <ns1:blah xmlns:ns1="http://foo.com">hello</ns1:blah> > are completely identical from a functional XML standpoint. > > What I need to check (not sure about) is if Aegis can support generating > unqualified schemas. A brief look at the code seems to say "no". :-( > > Dan > > > > On Thursday 08 November 2007, Vespa, Anthony J wrote: > > Hrm...interesting. I'd rather not mess with interceptors at this > > point. > > > > So is it your expectation that on the client side, it should work > > either way (both with using the ns1:blah or just blah) when parsing > > the response? Is that what you mean by the namespace being bound by > > ns1 and ""? > > > > -----Original Message----- > > From: Daniel Kulp [mailto:[EMAIL PROTECTED] > > Sent: Thursday, November 08, 2007 4:50 PM > > To: [email protected] > > Cc: Vespa, Anthony J > > Subject: Re: SOAP Namspace change in 2.0.3 - Please Advise > > > > > > Well, I know which commit caused this. (mine, revision 587274) > > > > Basically, previously, Aegis would ALWAYS write out a new namespace > > for each part, even if the namepace is already defined in the message. > > > > It was basically because we keyed the writing off whether the prefix > > in the QName is null or not. However, the prefix in the QName is > > NEVER null. If you don't specify one, it defaults to an empty > > string. > > > > Thus, now when it writes out, if the qname prefix is "" and the > > namespace > > is already defined in the message with a specific prefix, we use that > > prefix. > > > > Looking at the code, I don't think there's anyway around that right > > now. :-( > > > > You MIGHT be able to add an interceptor immediately after the > > WrappedOutInterceptor that sets the default namespace to your > > namespace. > > > > That might work. Not really sure though. The namespace would be > > bound > > > > to both "ns1" as well as "" so I don't know WHAT it would return if we > > query it later. > > > > Dan > > > > On Thursday 08 November 2007, Vespa, Anthony J wrote: > > > Hello, > > > > > > Playing with the RC for 2.0.3 has fixed some of my issues, but I > > > have a new one that has arisen. > > > > > > The responses come back something like... > > > > > > <soap:Envelope > > > xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> > > > <ns1:getMessageThreadResponse > > > xmlns:ns1="http://soap.ws.test.com/"> > > > <ns1:getMessageThreadResult> > > > <ns1:responseArray> > > > <ns2:anyType ns3:type="ns1:wsMessage" > > > xmlns:ns2="http://cxf.apache.org/arrays" > > > xmlns:ns3="http://www.w3.org/2001/XMLSchema-instance"> > > > > > > ... > > > > > > Is there any way to prevent having ns1 / ns2 prefixed to each level > > > as the name? This is causing some issue with our front end client > > > code and client library (in Ajax) - I'm not sure if this is part of > > > other discussions that are on-going. Ideally I'd just like the > > > document to drop the NS prefixes. > > > > > > Thanks! > > > > > > -Tony > > > > -- > J. Daniel Kulp > Principal Engineer > IONA > P: 781-902-8727 C: 508-380-7194 > [EMAIL PROTECTED] > http://www.dankulp.com/blog
