ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AXIOM-282) Get Payload QName information without building OMElement
Date Wed, 09 Mar 2016 22:59:40 GMT

    [ https://issues.apache.org/jira/browse/AXIOM-282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15188259#comment-15188259
] 

Hudson commented on AXIOM-282:
------------------------------

SUCCESS: Integrated in axiom-trunk #2596 (See [https://builds.apache.org/job/axiom-trunk/2596/])
Use a different approach to implement AXIOM-282: instead of using lookahead, allow newly registered
custom builders to be applied to the last created node. Since we don't allow direct access
to the underlying parser anymore, this approach basically has the same effect but allows to
simplify the design of the builder. (veithen: rev 1734317)
* axiom/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/CustomBuilderManager.java
* axiom/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXHelper.java
* axiom/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/builder/StAXOMBuilder.java
* axiom/aspects/om-aspects/src/main/java/org/apache/axiom/soap/impl/mixin/AxiomSOAPBodySupport.aj


> Get Payload QName information without building OMElement
> --------------------------------------------------------
>
>                 Key: AXIOM-282
>                 URL: https://issues.apache.org/jira/browse/AXIOM-282
>             Project: Axiom
>          Issue Type: Improvement
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>
> Problem:
> The Axis2 code invokes MessageContext.isFault() before starting the phases.  This causes
an Axiom tree to be built up to and including the
> first child element (payload) in the soap body.   The problem is that the phases might
have special CustomBuilders.  Building the Axiom tree past the payload
> can defeat these kinds of optimizations.
> Solution1:
> The first solution is tactical and will work with all parsers.  The proposal is to add
some simple, protected "look ahead" code in the StaXOMBuilder.  
> The Axiom SOAPBody can use this information to determine whether the payload is a fault,
without actually building the object.    I am working on the tests and code for this first
solution, and will have it ready in the next day or two.
> Solution 2:
> The second solution is support a custom property on the parser.  The SOAPEnvelope can
then call the custom property on the backing parser to get the soap body payload qname.  
The idea is that the parser (woodstox or ibm, etc.) may have already looked ahead in the text
before the StAX events are fully pulled.
> The benefit of this solution is that calls, like MessageContext.isFault(), will not cause
the expansion of the header elements.    I will work on this solution
> after solution 1 is done.  I don't have a proposed name for the property yet.
> (Note that both of these solutions will require some minor changes to the Axis2 code.)
> P.S. I am working with Takahide Nogayama on these changes.
> Thanks,
> Rich Scheuerle



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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


Mime
View raw message