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

Stefan Vladov updated AXIS2-3907:
---------------------------------

    Description: 
AxisService2WSDL11 serializes a policy reference attached on the message (in or 
out message) at the input (respectively output) of the wsdl operation in the 
portType definition. This essentially happens in the generatePortType method 
that is calling 

addPolicyAsExtElement(inaxisMessage, input) 

(respectively 

addPolicyAsExtElement(outAxisMessage, output)

 for the output). On the other hand the WSDL11ToAxisServiceBuilder expects to 
find the eventual policy at the message declaration in the wsdl definition. 
Examining the

WSDL11ToAxisServiceBuilder #populateOperations

 when calling 

copyExtensibleElements

 for the respective message the builder passes 

message.getExtensibilityElements()

 instead of for example 

wsdl4jInputMessage.getExtensibilityElements()

(which would get the policy reference from the Input rather than from the 
message declaration.) As a result the message level policy is not read from the 
wsdl generated by the same engine.
I'm not sure which is the right place for the message policy (probably both are 
right) or whether there is a recommendation about this but it would be nice to 
have the policy reference deserialized from and serialized at the same place - 
for example at the message declaration. I'll attach a patch if you like the 
proposal...

  was:
AxisService2WSDL11 serializes a policy reference attached on the message (in or 
out message) at the input (respectively output) of the wsdl operation in the 
portType definition. This essentially happens in the generatePortType method 
that is calling {code}addPolicyAsExtElement(inaxisMessage, input) {code}  
(respectively  {code}addPolicyAsExtElement(outAxisMessage, output){code}  for 
the output). On the other hand the WSDL11ToAxisServiceBuilder expects to find 
the eventual policy at the message declaration in the wsdl definition. 
Examining the {code}WSDL11ToAxisServiceBuilder #populateOperations{code}, when 
calling {code}copyExtensibleElements{code} for the respective message the 
builder passes {code}message.getExtensibilityElements(){code} instead of for 
example {code}wsdl4jInputMessage.getExtensibilityElements(){code} (which would 
get the policy reference from the Input rather than from the message 
declaration.) As a result the message level policy is not read from the wsdl 
generated by the same engine.
I'm not sure which is the right place for the message policy (probably both are 
right) or whether there is a recommendation about this but it would be nice to 
have the policy reference deserialized from and serialized at the same place - 
for example at the message declaration. I'll attach a patch if you like the 
proposal...


> Message level policy not serialized correctly in wsdl 1.1
> ---------------------------------------------------------
>
>                 Key: AXIS2-3907
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3907
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.4
>         Environment: any
>            Reporter: Stefan Vladov
>         Attachments: AxisService2WSDL11_message_policy.txt, TestEcho2.wsdl, 
> TestEcho2Result.wsdl
>
>
> AxisService2WSDL11 serializes a policy reference attached on the message (in 
> or out message) at the input (respectively output) of the wsdl operation in 
> the portType definition. This essentially happens in the generatePortType 
> method that is calling 
> addPolicyAsExtElement(inaxisMessage, input) 
> (respectively 
> addPolicyAsExtElement(outAxisMessage, output)
>  for the output). On the other hand the WSDL11ToAxisServiceBuilder expects to 
> find the eventual policy at the message declaration in the wsdl definition. 
> Examining the
> WSDL11ToAxisServiceBuilder #populateOperations
>  when calling 
> copyExtensibleElements
>  for the respective message the builder passes 
> message.getExtensibilityElements()
>  instead of for example 
> wsdl4jInputMessage.getExtensibilityElements()
> (which would get the policy reference from the Input rather than from the 
> message declaration.) As a result the message level policy is not read from 
> the wsdl generated by the same engine.
> I'm not sure which is the right place for the message policy (probably both 
> are right) or whether there is a recommendation about this but it would be 
> nice to have the policy reference deserialized from and serialized at the 
> same place - for example at the message declaration. I'll attach a patch if 
> you like the proposal...

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to