The problem here is that I can tell you how to control what prefixes get used, but not how to force the use or non-use of prefixes. That is under the control of the XMLStreamWriter, by and large. You could use an interceptor.
On Tue, Dec 30, 2008 at 8:04 PM, William Blackburn <[email protected]> wrote: > Thanks for your response, I know, and I, personally do not care. But my > problem is that I am being asked to implement a 'protocol' which contains an > embedded 'xhtml' document consisting of xhtml plus an xform - both of which > are ultimately to be dislplayed in an IE+formsplayer plugin window. The wsdl > I have been provided defines this embedded item as an xml element and so > wsdl2jave dutifully defines it as such in the resulting java model. > > For whatever bug-ridden reason, the combination of IE+formsplayer will not > display namespaced xhtml and the xhtml hiding inside the larger xml document > is being namespaced at some point, even though I have defined it using the > xhtml namespace as default. My only theory is that cxf has already defined > the default namespace. > > This, of course, is the absolute worst use-case for web services one could > imagine, and I deny any involvement in conjuring up such a ridiculous > 'protocol', but life is unfair and here I am. > > I'll probably have to redefine my web service implementation using a servlet > and a stringbuffer to make this work. > > > > > On Dec 30, 2008, at 4:34 PM, Benson Margulies wrote: > >> Why do you care? From an XML standpoint, they are exactly the same? >> >> I ask you this even though I'm the person who added the various tricks >> to CXF to allow this. But it's a pain in the tail, and I don't >> recommend it unless you really badly need it. >> >> On Tue, Dec 30, 2008 at 6:53 PM, William Blackburn >> <[email protected]> wrote: >>> >>> I have successfully created a wsdl-first web service using wsdl2java and >>> CXF >>> 2.2 >>> >>> I am now testing and see that the default namespace in the soap >>> requests/responses generated by cxf' client/server does not use an >>> explicit >>> namespace prefix, for example a CXF client might emit: >>> >>> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> >>> <soap:Body> >>> <RetrieveFormRequest xmlns="urn:ihe:iti:rfd:2007"> >>> <formID>_dummy</formID> >>> <encodedResponse>true</encodedResponse> >>> ... etc...etc... >>> >>> While the server would answer: >>> >>> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"> >>> <soap:Body> >>> <RetrieveFormResponse xmlns="urn:ihe:iti:rfd:2007"> >>> <form> >>> <Structured> >>> ...etc...etc... >>> >>> I want the elements representing my various types to be explicitly >>> prefixed, >>> as in: >>> >>> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" >>> xmlns:rfd="urn:ihe:iti:rfd:2007"> >>> <soap:Body> >>> <rfd:RetrieveFormResponse > >>> <rfd:form> >>> <rfd:Structured> >>> ...etc...etc... >>> >>> Is there any way to make this happen? >>> >>> Thanks very much. >>> > >
