-
1. Re: Service operation (invocation contract) only supports one fault type
kcbabo Aug 13, 2012 12:43 PM (in response to objectiser)The issue with multiple faults is how we handle transformation. Let's say we have this Java interface for the provider:
Bar submit(Foo foo) throws ABC, XYZ;
And this WSDL definition for the consumer:
<input message="tns:foo"/>
<output message="tns:bar"/>
<fault message="tns:kaboom"/>
<fault message="tns:kachow"/>
If the provider throws ABC, do we transform to tns:kaboom or tns:kachow?
-
2. Re: Service operation (invocation contract) only supports one fault type
objectiser Aug 13, 2012 1:05 PM (in response to kcbabo)The same issue would apply if we had polymorphic operations - so I guess they are not supported?
Keith Babo wrote:
If the provider throws ABC, do we transform to tns:kaboom or tns:kachow?
My suggestion would be to transform it to the type that has a registered transformer for the pair - as it is unlikely that transformers would have been registered for both ABC to kaboom and ABC to kachow.
-
3. Re: Service operation (invocation contract) only supports one fault type
kcbabo Aug 13, 2012 1:17 PM (in response to objectiser)The same issue would apply if we had polymorphic operations - so I guess they are not supported?
Correct. FWIW, this practice is specifically prohibited in WS-I basic profile and support was also removed in WSDL 1.2.
My suggestion would be to transform it to the type that has a registered transformer for the pair - as it is unlikely that transformers would have been registered for both ABC to kaboom and ABC to kachow.
That could work, particularly with the rather basic mapping we have in place today. Would you mind filing a JIRA and we can pick it up for 0.6?