Re: Disambiguating default wsa:Action pattern in inherited faults

Gurus,
I feel that the impetus is on WS-A spec to address this issue, rather than
modifying the semantics for WSDL 2.0. Please let me know your thoughts.

rgds,
Ram


On 10/6/06, Ramkumar Menon <ramkumar.menon@gmail.com> wrote:
>
>  Gurus,
>
> I have a question, and appreciate your comments on the same.
> In the event that an interface that extends another interface [in an
> imported description] happens to define a fault with the same local name
> [but different namespace name, and hence a different {name} property] as one
> thats defined in the parent interface, wouldnt there be a possible ambuguity
> in resolving the "default" WSA Action pattern for faults within the
> component model of the importing description.?
> Let me explain my doubt with an example.
>
> I have two WSDLs.
>
> WSDL A:-
> -------------
> <description targetNamespace="www.parent.com">
> <interface name="parent">
>    <fault name='sampleFault" .../>
> </description>
>
> WSDL B:-
> --------------
> <description targetNamespace="www.child.com">
>  <import the parent wsdl/> [from the different namespace]
>  <interface name="child" extends="prns:parent">
>   <fault name="sampleFault" .../>
>  </interface>
> </description>
>
> WSDL B. defines the bindings for the portType "child" and finally the
> endpoints.
>
> Question is :- How wd we resolve the default action pattern between the
> "declared and the inherited" version of "sampleFault" in the description for
> WSDL B.? [The interface "child" inherits the "sampleFault" from the parent
> interface, and since the namespace names are different, there does not seem
> to be a conformance violation, or is there a violation ?.]
>
> If there isnt a violation, then here is the explanation of the problem.
> The default wsa action pattern for faults is [target
> namespace][delimiter][interface name][delimiter][fault name]. Where fault
> name is specified as the local name of the "fault". The WS-A
> specification does not state that the interface name should be the local
> name of the original declaring interface.[in this case, "parent"]
> This makes both the declared and inherited faults indistinguishable while
> computing the default action pattern.
>
> If this makes some sense, we can either have the 2.0 spec mandate the
> inherited fault names to have a different local name altogether [in addition
> to a different namespace name], which makes life much simpler, or
> alternatively let the WS-A spec explicitly state that the {interface name}
> in the default action pattern should be the name of the interface that
> originally declared the fault, and {targetNamespace} be it's target
> namespace. We could also mandate that this scenario requires the modeler to
> explicitly specify WSA Actions in the description.
>
> I'd appreciate your comments on this.
> rgds,
> Ram
>
> --
> Shift to the left, shift to the right!
> Pop up, push down, byte, byte, byte!
>
> -Ramkumar Menon
> A typical Macroprocessor
>



-- 
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

-Ramkumar Menon
A typical Macroprocessor

Received on Monday, 9 October 2006 17:47:19 UTC