axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Danielsen (JIRA)" <>
Subject [jira] Updated: (AXIS2-2811) Assumption that message label and message direction are synonymous
Date Mon, 18 Jun 2007 02:54:26 GMT


Peter Danielsen updated AXIS2-2811:

    Attachment: AxisServiceBasedMultiLanguageEmitter.patch.txt

Attached are patches that will allow the message label to make it all the way through the
codegen process to the Emitter templates.

AxisMessage - adds a new field "label" with a setter and getter.

WSDL20ToAxisServiceBuilder - sets the AxisMessage's label and uses 
messageReference.getDirection() to classify a message as input or output, rather than trying
to infer it from its label.  Relying on the label won't work if a new MEP is introduced that
doesn't follow the existing pattern. 

AxisServiceBasedMultiLanguageEmitter - adds "label" attribute to "input" and "output" elements
in the Documents provided to the emitter templates.

> Assumption that message label and message direction are synonymous
> ------------------------------------------------------------------
>                 Key: AXIS2-2811
>                 URL:
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: codegen
>            Reporter: Peter Danielsen
>         Attachments: AxisMessage.patch.txt, AxisServiceBasedMultiLanguageEmitter.patch.txt,
> It looks like there's an assumption that message label and message direction will always
be synonymous.  
> I've been trying to create an Axis2 code generation template that would use the value
of a message's "messageLabel" attribute in a WSDL2 document.  Unfortunately, that value doesn't
appear in the Document created by the AxisServiceBasedMultiLanguageEmitter.  I looked into
this a bit and found that the actual value of the message label is lost in sub-class implementations
of the abstract AxisOperation method 
>     addMessage(AxisMessage, String)
> called by WSDL20ToAxisServiceBuilder.createAxisMessage().  WSDL20ToAxisServiceBuilder.populateOperations
exhibits the assumption in the for loop that iterates over the InterfaceMessageReferences.
> If I'm reading the WSDL2 spec right, the message exchange pattern defines the label constraints
for its messages. So, it seems like the classification should be based on the message reference's
getDirection(). While what's there now may work, it won't if a new MEP is defined. I think
getDirection() should work regardless.
> WSDL2's ability to accommodate new MEPs also calls into question Axis2's practice of
mapping MEP strings to constant integer values throughout the code.  Why not just stick with
the MEP strings to support extensibility now?

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message