[
https://issues.apache.org/jira/browse/AXIS2-5939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert Lazarski resolved AXIS2-5939.
------------------------------------
Resolution: Incomplete
Closing as Incomplete. This was filed against 1.7.8 in 2018 and the XML
Schema library (xmlschema-core) has been updated significantly in the
2.0.x line. The reporter was asked in Oct 2024 to verify against current
code but did not respond. The affected code path
(BuilderUtil.buildsoapMessage with schema-aware REST GET parameter
binding) is unchanged in structure but the underlying schema library
behavior may have shifted. Writing a unit test for this method is
impractical — it requires a fully wired MessageContext with an
AxisOperation containing an AxisMessage with a programmatically
constructed XmlSchemaElement (complex type with sequence); no test
infrastructure exists for this setup, and all existing tests that
exercise this path use full integration tests with deployed services. If
anyone can reproduce this on 2.0.x, please reopen with steps to reproduce
against the current codebase.
> 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
> Affects Versions: 1.7.8
> Reporter: Siyana Slavova
> Assignee: Robert Lazarski
> Priority: Critical
> Attachments: Echo.aar, MyService.aar, axis code snippet.txt,
> modified.txt
>
>
> *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
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]