Hello M. Amila Chinthaka Suriarachchi ,
I created the patch.
If not OK, the modification is the following, in method (private
org.apache.axiom.om.OMElement toOM(final <xsl:value-of select="@type"/>
param)):

Replaced:
            private org.apache.axiom.om.OMElement toOM(final <xsl:value-of
select="@type"/> param)
                    throws org.apache.axis2.AxisFault {

                final javax.xml.stream.XMLStreamReader xmlReader =
param.newXMLStreamReader();
                while (!xmlReader.isStartElement()) {
                    try {
                        xmlReader.next();
                    } catch (javax.xml.stream.XMLStreamException e) {
                        throw org.apache.axis2.AxisFault.makeFault(e);
                    }
                }

                org.apache.axiom.om.OMDataSource omDataSource = new
org.apache.axiom.om.OMDataSource() {

                    public void serialize(java.io.OutputStream outputStream,
org.apache.axiom.om.OMOutputFormat omOutputFormat)
                            throws javax.xml.stream.XMLStreamException {
                        try {
                            org.apache.xmlbeans.XmlOptions xmlOptions = new
org.apache.xmlbeans.XmlOptions();

param.save(outputStream,xmlOptions.setSaveNoXmlDecl());
                        } catch (java.io.IOException e) {
                            throw new
javax.xml.stream.XMLStreamException("Problem with saving document",e);
                        }
                    }

                    public void serialize(java.io.Writer writer,
org.apache.axiom.om.OMOutputFormat omOutputFormat)
                            throws javax.xml.stream.XMLStreamException {
                        try {
                            org.apache.xmlbeans.XmlOptions xmlOptions = new
org.apache.xmlbeans.XmlOptions();

param.save(writer,xmlOptions.setSaveNoXmlDecl());
                        } catch (java.io.IOException e) {
                            throw new
javax.xml.stream.XMLStreamException("Problem with saving document",e);
                        }
                    }

                    public void serialize(javax.xml.stream.XMLStreamWriter
xmlStreamWriter)
                            throws javax.xml.stream.XMLStreamException {
                        org.apache.axiom.om.impl.MTOMXMLStreamWriter
mtomxmlStreamWriter =

(org.apache.axiom.om.impl.MTOMXMLStreamWriter) xmlStreamWriter;
                        try {
                            org.apache.xmlbeans.XmlOptions xmlOptions = new
org.apache.xmlbeans.XmlOptions();

param.save(mtomxmlStreamWriter.getOutputStream(),xmlOptions.setSaveNoXmlDecl());
                            mtomxmlStreamWriter.getOutputStream().flush();
                        } catch (java.io.IOException e) {
                            throw new
javax.xml.stream.XMLStreamException("Problem with saving document", e);
                        }
                    }

                    public javax.xml.stream.XMLStreamReader getReader()
                            throws javax.xml.stream.XMLStreamException {
                        return param.newXMLStreamReader();
                    }
                };

                return  new
org.apache.axiom.om.impl.llom.OMSourcedElementImpl(xmlReader.getName(),

org.apache.axiom.om.OMAbstractFactory.getOMFactory(),
                        omDataSource);
            }

By :
            private org.apache.axiom.om.OMElement toOM(final <xsl:value-of
select="@type"/> param)
                    throws org.apache.axis2.AxisFault {
                org.apache.axiom.om.impl.builder.SAXOMBuilder builder = new
org.apache.axiom.om.impl.builder.SAXOMBuilder();
                org.apache.xmlbeans.XmlOptions xmlOptions = new
org.apache.xmlbeans.XmlOptions();
                xmlOptions.setSaveNoXmlDecl();
                xmlOptions.setSaveAggressiveNamespaces();
                xmlOptions.setSaveNamespacesFirst();
                try {
                    param.save(builder, builder, xmlOptions);
                    org.apache.axiom.om.OMElement element =
builder.getRootElement();
                    return element;
                } catch (java.lang.Exception e) {
                    throw org.apache.axis2.AxisFault.makeFault(e);
                }
            }


Is it possible for me to become an Axis2 commiter ?


Philippe
Cordially
www.ubik-ingenierie.com

On Thu, Dec 11, 2008 at 1:13 PM, Amila Chinthaka Suriarachchi (JIRA) <
[EMAIL PROTECTED]> wrote:

>
>    [
> https://issues.apache.org/jira/browse/AXIS2-3760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655619#action_12655619]
>
> Amila Chinthaka Suriarachchi commented on AXIS2-3760:
> -----------------------------------------------------
>
> can you please create the patch with the current trunk and using svn diff
> command?
>
> > CLONE -XMLBeans DataBinding generates too many namespaces PERFORMANCE
> ISSUE
> >
> ---------------------------------------------------------------------------
> >
> >                 Key: AXIS2-3760
> >                 URL: https://issues.apache.org/jira/browse/AXIS2-3760
> >             Project: Axis 2.0 (Axis2)
> >          Issue Type: Bug
> >          Components: databinding
> >    Affects Versions: 1.4.1, 1.4, 1.3, nightly
> >         Environment: ALL
> >            Reporter: Philippe Mouawad
> >            Assignee: Amila Chinthaka Suriarachchi
> >            Priority: Critical
> >             Fix For: 1.5
> >
> >         Attachments: axiom-api-fix.jar, NamespaceBug.zip, patch.txt
> >
> >   Original Estimate: 24h
> >  Remaining Estimate: 24h
> >
> > When using XMLBeans as databinding layer.
> > XML Requests and responses are very verbose due to same Namespaces being
> declared and redeclared.
> > Example:
> > <?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body><v1:getLocatedProducts
> xmlns:v1="http://v1.product.ws.store.kingfisher.com";><v1:param0><xsd:callType
> xmlns:xsd="http://data.v1.product.ws.store.kingfisher.com/xsd";>1</xsd:callType><xsd:familyCode
> xmlns:xsd="http://data.v1.product.ws.store.kingfisher.com/xsd";>1</xsd:familyCode><xsd:moduleCode
> xmlns:xsd="http://data.v1.product.ws.store.kingfisher.com/xsd";>1</xsd:moduleCode><xsd:subFamilyCode
> xmlns:xsd="http://data.v1.product.ws.store.kingfisher.com/xsd
> ">1</xsd:subFamilyCode></v1:param0></v1:getLocatedProducts></soapenv:Body></soapenv:Envelope>
> > You see that http://data.v1.product.ws.store.kingfisher.com/xsd is
> declared 4 times instead of one.
> > Philippe Mouawad
> > www.ubik-ingenierie.com
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online.
>
>


-- 
Cordialement.
Philippe Mouawad.
Ubik-Ingenierie.

Reply via email to