For jaxb, I think setting soap.env.ns.map won't help, as this property doesn't influence how its marshaller is set up.
To influence jaxb's namespace handling, you can set the jaxb marshaller's property com.sun.xml.bind.namespacePrefixMapper with your own prefix mapper. But this requires writing a code. So I think we should provide a simpler way. cxf's jaxb binding configuration already provides the namespace mapping option that sets the above prefix mapper. However, this mapper currently only influences the namespace prefix mapping itself. So we should add an option to configure the contextual namespace mapping so that one can specify the namespace declarations inherited from outside. I'll take a look. 2013/9/15 Andrei Shakirin <[email protected]>: > Hi Gaurav, > > I guess that soap.env.ns.map was supported in later CXF releases. > Could you try 2.7.X? > > Regards, > Andrei. > >> -----Original Message----- >> From: Gaurav Chandna [mailto:[email protected]] >> Sent: Dienstag, 10. September 2013 09:19 >> To: [email protected] >> Subject: Issue in Prefix management of namespace in cxf-2.5.10 >> >> Hi , >> >> I am using cxf-2.5.10 and using xmlbeans for generating java objects. >> I am facing following issue w.r.t. prefix management, the prefixes declared >> in >> envelope or in soap body section are not being used and entire namespace is >> getting copied for all the elements: >> >> *Expected Result*: >> <SOAP-ENV:Envelope >> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> xmlns:esl="http://www.cvscaremark.com/esl/entities/1_0" >> xmlns:eldm="http://www.cvscaremark.com/esl/eldm/entities/1_0"> >> <SOAP-ENV:Body> >> <p:PatientDURProfileRequest >> xmlns:p="http://www.cvscaremark.com/esl/isp/messages/1_0"> >> <esl:AppMsgID>******</esl:AppMsgID> >> <esl:Version>1.0</esl:Version> >> <esl:MsgDateTimestamp>*******</esl:MsgDateTimestamp> >> <p:sourceSystemID> >> <eldm:sourceSystemName>*******</eldm:sourceSystemName> >> <eldm:sourceSystemKey KeyName="PatientIdentifier"> >> <eldm:KeyValue>*******</eldm:KeyValue> >> </eldm:sourceSystemKey> >> <eldm:effectiveDate>*******</eldm:effectiveDate> >> <eldm:termDate>*******</eldm:termDate> >> </p:sourceSystemID> >> <p:startDate>*******</p:startDate> >> <p:endDate>*******</p:endDate> >> <p:lineOfBusinessCode>*******</p:lineOfBusinessCode> >> </p:PatientDURProfileRequest> >> </SOAP-ENV:Body> >> </SOAP-ENV:Envelope> >> >> >> >> *Actual Result:* >> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >> xmlns:ns3="http://www.cvscaremark.com/esl/entities/1_0" >> xmlns:ns2="http://www.cvscaremark.com/esl/isp/messages/1_0"> >> <soap:Body> >> <PatientDURProfileRequest >> xmlns="http://www.cvscaremark.com/esl/isp/messages/1_0"> >> <AppMsgID >> xmlns="http://www.cvscaremark.com/esl/entities/1_0">*****</AppMsgID >> > >> <MsgDateTimestamp >> xmlns="http://www.cvscaremark.com/esl/entities/1_0">*****</MsgDateT >> imestamp><sourceSystemID> >> <sourceSystemName >> xmlns="http://www.cvscaremark.com/esl/eldm/entities/1_0">******</so >> urceSystemName> >> <sourceSystemKey >> xmlns="http://www.cvscaremark.com/esl/eldm/entities/1_0" >> PatientIdentifier"> >> <KeyValue>******</KeyValue> >> </sourceSystemKey> >> </sourceSystemID> >> </PatientDURProfileRequest> >> </soap:Body> >> </soap:Envelope> >> >> >> >> I have tried following options to resolve the same but no success has been >> acheived: >> 1. XMLOptions - not working >> 2. Adding namespace in "soap.env.ns.map" using cxf.xml and also using >> interceptor >> >> Please provide the solution, if anyone has faced the sae issue >> >> >> >> -- >> View this message in context: http://cxf.547215.n5.nabble.com/Issue-in- >> Prefix-management-of-namespace-in-cxf-2-5-10-tp5733766.html >> Sent from the cxf-user mailing list archive at Nabble.com.
