cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jimma (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CXF-2827) JAXWS2.2: wsam:action attribute is not generated in <wsdl:input> and <wsdl:ouput> element when the SEI method is not annotated with @Action
Date Fri, 28 May 2010 03:12:39 GMT

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

jimma updated CXF-2827:
-----------------------

        Summary: JAXWS2.2: wsam:action attribute is not generated in <wsdl:input> and
<wsdl:ouput> element when the SEI method is not annotated with @Action  (was: JAXWS2.2:
<wsa:action> URI  is not correct for the SEI method without  @Action for input and output
)
    Description: 
When there is no @Action annotated to SEI method , the wsa action value in wsdl  should be
computed with :

---JAXWS 2.2 Spec ----
"If wsdl:input[@wsam:Action] cannot be mapped from the above steps, then wsam:Action
is generated using the metadata defaulting algorithm as if wsdl:input[@name] is not present
in
WSDL."

----WSA 1.1 WSDL Binding -------
A default pattern is also defined for backwards compatibility with WSDL 1.1. In the absence
of the wsaw:Action attribute, the following pattern is used to construct a default action
for inputs and outputs. The general form of an action IRI is as follows:

Example 4-6. Structure of defaulted wsa:Action IRI.

[target namespace][delimiter][port type name][delimiter][input|output name]

For fault messages, the general form of an action IRI is as follows:

Example 4-7. Structure of default wsa:Action IRI for faults

[target namespace][delimiter][port type name][delimiter][operation name][delimiter]Fault[delimiter][fault
name]

Example 4-9. Example WSDL without explicit wsa:Action values or explicit message names.

<definitions targetNamespace="http://greath.example.com/2004/wsdl/resSvc" ...>
  ...
  <portType name="reservationInterface">
    <operation name="opCheckAvailability">
      <input message="tns:checkAvailability"/>
      <output message="tns:checkAvailabilityResponse"/>
    </operation>
  </portType>
  ...
</definitions>
      

[targetNamespace] = http://greath.example.com/2004/wsdl/resSvc

[port type name] = reservationInterface

According to the rules defined in Section 2.4.5 of WSDL 1.1, if the name attribute is absent
for the input of a request response operation the default value is the name of the operation
with "Request" appended.

[input name] = opCheckAvailabilityRequest

Likewise, the output defaults to the operation name with "Response" appended.

[output name] = opCheckAvailabilityResponse

Applying the pattern above with these values we have:

input action = http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailabilityRequest

output action = http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailabilityResponse


We now generated the  the name attribute value for <wsdl:input>, this will effect the
action computation :
if <[input name] = opCheckAvailability> , then input action = http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailability.
It's not http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailabilityRequest
anymore . 





  was:
When there is no @Action annotated to SEI method , the wsa action should be computed with
:

---JAXWS 2.2 Spec ----
"If wsdl:input[@wsam:Action] cannot be mapped from the above steps, then wsam:Action
is generated using the metadata defaulting algorithm as if wsdl:input[@name] is not present
in
WSDL."

----WSA 1.1 WSDL Binding -------
A default pattern is also defined for backwards compatibility with WSDL 1.1. In the absence
of the wsaw:Action attribute, the following pattern is used to construct a default action
for inputs and outputs. The general form of an action IRI is as follows:

Example 4-6. Structure of defaulted wsa:Action IRI.

[target namespace][delimiter][port type name][delimiter][input|output name]

For fault messages, the general form of an action IRI is as follows:

Example 4-7. Structure of default wsa:Action IRI for faults

[target namespace][delimiter][port type name][delimiter][operation name][delimiter]Fault[delimiter][fault
name]

Example 4-9. Example WSDL without explicit wsa:Action values or explicit message names.

<definitions targetNamespace="http://greath.example.com/2004/wsdl/resSvc" ...>
  ...
  <portType name="reservationInterface">
    <operation name="opCheckAvailability">
      <input message="tns:checkAvailability"/>
      <output message="tns:checkAvailabilityResponse"/>
    </operation>
  </portType>
  ...
</definitions>
      

[targetNamespace] = http://greath.example.com/2004/wsdl/resSvc

[port type name] = reservationInterface

According to the rules defined in Section 2.4.5 of WSDL 1.1, if the name attribute is absent
for the input of a request response operation the default value is the name of the operation
with "Request" appended.

[input name] = opCheckAvailabilityRequest

Likewise, the output defaults to the operation name with "Response" appended.

[output name] = opCheckAvailabilityResponse

Applying the pattern above with these values we have:

input action = http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailabilityRequest

output action = http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailabilityResponse


We should append the "Request" to opeation name as the WSA action value.






> JAXWS2.2: wsam:action attribute is not generated in <wsdl:input> and <wsdl:ouput>
element when the SEI method is not annotated with @Action
> -------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-2827
>                 URL: https://issues.apache.org/jira/browse/CXF-2827
>             Project: CXF
>          Issue Type: Bug
>          Components: Tooling, WS-* Components
>    Affects Versions: 2.2.8
>            Reporter: jimma
>            Assignee: jimma
>             Fix For: 2.2.9
>
>
> When there is no @Action annotated to SEI method , the wsa action value in wsdl  should
be computed with :
> ---JAXWS 2.2 Spec ----
> "If wsdl:input[@wsam:Action] cannot be mapped from the above steps, then wsam:Action
> is generated using the metadata defaulting algorithm as if wsdl:input[@name] is not present
in
> WSDL."
> ----WSA 1.1 WSDL Binding -------
> A default pattern is also defined for backwards compatibility with WSDL 1.1. In the absence
of the wsaw:Action attribute, the following pattern is used to construct a default action
for inputs and outputs. The general form of an action IRI is as follows:
> Example 4-6. Structure of defaulted wsa:Action IRI.
> [target namespace][delimiter][port type name][delimiter][input|output name]
> For fault messages, the general form of an action IRI is as follows:
> Example 4-7. Structure of default wsa:Action IRI for faults
> [target namespace][delimiter][port type name][delimiter][operation name][delimiter]Fault[delimiter][fault
name]
> Example 4-9. Example WSDL without explicit wsa:Action values or explicit message names.
> <definitions targetNamespace="http://greath.example.com/2004/wsdl/resSvc" ...>
>   ...
>   <portType name="reservationInterface">
>     <operation name="opCheckAvailability">
>       <input message="tns:checkAvailability"/>
>       <output message="tns:checkAvailabilityResponse"/>
>     </operation>
>   </portType>
>   ...
> </definitions>
>       
> [targetNamespace] = http://greath.example.com/2004/wsdl/resSvc
> [port type name] = reservationInterface
> According to the rules defined in Section 2.4.5 of WSDL 1.1, if the name attribute is
absent for the input of a request response operation the default value is the name of the
operation with "Request" appended.
> [input name] = opCheckAvailabilityRequest
> Likewise, the output defaults to the operation name with "Response" appended.
> [output name] = opCheckAvailabilityResponse
> Applying the pattern above with these values we have:
> input action = http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailabilityRequest
> output action = http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailabilityResponse
> We now generated the  the name attribute value for <wsdl:input>, this will effect
the action computation :
> if <[input name] = opCheckAvailability> , then input action = http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailability.
> It's not http://greath.example.com/2004/wsdl/resSvc/reservationInterface/opCheckAvailabilityRequest
anymore . 

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


Mime
View raw message