You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Siyana Slavova (JIRA)" <ji...@apache.org> on 2018/11/13 12:18:00 UTC

[jira] [Updated] (AXIS2-5939) Axis2 not parsing correctly query parameters after upgrading xml schema

     [ https://issues.apache.org/jira/browse/AXIS2-5939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Siyana Slavova updated AXIS2-5939:
----------------------------------
    Attachment: Echo.aar

> Axis2 not parsing correctly query parameters after upgrading xml schema
> -----------------------------------------------------------------------
>
>                 Key: AXIS2-5939
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5939
>             Project: Axis2
>          Issue Type: Bug
>            Reporter: Siyana Slavova
>            Priority: Major
>         Attachments: Echo.aar
>
>
> *Steps to reproduce:*
>  # Deploy sample Echo.aar in axis 2.
>  # Call [http://localhost:8080/axis2/services/MyService/echoOMElement?in=in]
>  # Check the response.
> *Expected behaviour:*
>  The response should be 200 ok and the om element should be properly echoed.
> *Actual behaviour:*
>  The response is 500. Internally null pointer is thrown because the OMElement parameter in echoOMElement is null. The cause is that it is not correctly parsed in BuilderUtil.buildsoapMessage method. The parameter requests are not added in the soap envelope.
> On previous version of axis (before changing the schema) the qName of the particle element was null (on row 145), but after upgrading it is not and the program does not enter the if method, so the parameters are not added. See the code snippet
> {code:java}
> XmlSchemaParticle particle = complexType.getParticle();
> if (particle instanceof XmlSchemaSequence || particle instanceof XmlSchemaAll) {
>     if (particle instanceof XmlSchemaSequence) {
>         XmlSchemaSequence sequence = (XmlSchemaSequence) particle;
>         // now we need to know some information from the binding operation.
>         for (XmlSchemaSequenceMember sequenceMember : sequence.getItems()) {
>             XmlSchemaElement innerElement = (XmlSchemaElement) sequenceMember;
>             QName qName = innerElement.getWireName();
>             // ignoring the elements without proper type and minoccurs zero
>             if ((innerElement.getSchemaTypeName() == null) &&
>                 (innerElement.getMinOccurs() == 0)) {
>                 continue;
>             }
>             if (qName == null && innerElement.getSchemaTypeName()
>                     .equals(org.apache.ws.commons.schema.constants.Constants.XSD_ANYTYPE)) {
>                 createSOAPMessageWithoutSchema(soapFactory, bodyFirstChild,
>                                                requestParameterMap);
>                 break;
>             }
>             checkMinOccurs(innerElement, qName, soapFactory, requestParameterMap,
>                            bodyFirstChild);
>         }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org