Hi Sajith,

The following line is in javax.xml.stream.XMLInputFactory:

public static final String IS_NAMESPACE_AWARE =
"javax.xml.stream.isNamespaceAware";

But XMLInputFactory does not provide a method to setNamespaceAware.
How can I manipulate that?

By the way, the following code works on my another project. This two
use different libraries. What are the libraries that may cause this
abnormality? Does the sequence of the lib matter? What are the
differences between StAXOMBuilder and StAXSOAPModelBuilder? When
should we use them respectively?

The following is the code.

XMLStreamReader parser =
XMLInputFactory.newInstance().createXMLStreamReader(inStream);

OMXMLParserWrapper builder =
OMXMLBuilderFactory.createStAXSOAPModelBuilder(OMAbstractFactory.getSOAP11Factory(),
parser);

// StAXOMBuilder builder = new StAXOMBuilder(parser);
envelope = (SOAPEnvelope) builder.getDocumentElement();
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
XMLStreamWriter writer =
XMLOutputFactory.newInstance().createXMLStreamWriter(outStream);
XMLStreamWriter writer =
XMLOutputFactory.newInstance().createXMLStreamWriter(outStream);

// dump the out put to console with caching
envelope.serialize(writer);
String msg = outStream.toString();
System.out.println("from XMLStreamWriter:");
System.out.println(msg);


On 3/23/06, Gaël Pouzerate <[EMAIL PROTECTED]> wrote:
>
> Well, I didn't manage to solve the problem properly.
> I had to work around it in a pretty ugly way: Reconstruct an envelope with 
> the new signed SOAPHeader and the old untouched SOAPBody...
>
>
>
>
> On 3/23/06, Xinjun Chen <[EMAIL PROTECTED]> wrote:
> >
> >
> > There may be some library problem.
> > In my local project folder, I create a project and runs properly. However, 
> > when I combine that piece of code with another project, I encounters the 
> > same error Duplicated xmlns=""
> >
> > How did you solve the problem?
> >
> > Regards,
> >
> > Xinjun
> >
> >
> >
> > On 3/21/06, sajith <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > >
> > >
> > > Well it seems like parser is not namespace aware. Quick glance in the 
> > > XMLInputFactory and saw isNamespaceAware attribute. Try that out
> > >
> > >
> > >
> > > Sajith
> > >
> > >
> > >
> > > ________________________________

> > >
> > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Gaël 
> > > Pouzerate
> > > Sent: Monday, March 20, 2006 10:24 PM
> > > To: axis-user@ws.apache.org
> > > Subject: [Axis0.94] Duplicated xmlns="" added by StAXSOAPModelBuilder
> > >
> > >
> > >
> > >
> > > Hi,
> > >
> > > I've got an InputStream containing a soap envelope.
> > > When I use StAXSOAPModelBuilder to create a SOAPEnvelope object, some 
> > > extra strings (xmlns="") are added in the resulting envelope!!!
> > > What's the problem here?
> > >
> > > The code is pretty simple:
> > >
> > >             // InputStream soapStream contains the envelope as a stream
> > >             javax.xml.stream.XMLInputFactory xmlif = 
> > > javax.xml.stream.XMLInputFactory.newInstance ();
> > >             javax.xml.stream.XMLStreamReader xmlr = 
> > > xmlif.createXMLStreamReader(soapStream);
> > >             StAXSOAPModelBuilder builder = new 
> > > StAXSOAPModelBuilder(xmlr,null);
> > >             SOAPEnvelope newEnvelope = builder.getSOAPEnvelope ();
> > >
> > > My InputStream contains something like this:
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <soapenv:Envelope xmlns:soapenv=" 
> > > http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Header></soapenv:Header>
> > > <soapenv:Body>
> > > <DmpPatientRequest xmlns=" http://dmp/search/types ">
> > >     <access xmlns="">Acces normal</access>
> > > </DmpPatientRequest>
> > > </soapenv:Body>
> > > </soapenv:Envelope>
> > >
> > > But in the resulting SOAPEnvelope I get:
> > > ...
> > >     <access xmlns="" xmlns="">Acces normal</access>
> > > ...
> > >
> > > What is hapening here?
> > >
> > >
> > >
> >
> >
>
>

Reply via email to