We are using aegis data binding to produce SOAP and wsdl content in front a
web server. Integration with spring works great, and the services are
consumable by both Java and PHP clients. But if I validate the SOAP response
with a tool (such as SOAP UI), an error occurs on complex type binding
involving an inheritance pattern.

Complex inheritance scheme:

   AbstractObjectA -implements-> InterfaceObjectA
   ObjectAImpl -extends-> AbstractObjectA
   AbstractObjectB -implements-> InterfaceObjectB
   AbstractObjectB -extends-> AbstractObjectA 
   ObjectBImpl -extends-> AbstractObjectB

Spring and aegis configuration:


here is the wsdl:types part of resulting wsdl :


we can see here that inheritance between interfaces and abstract objects are
not described. The inheritance tree isn't complete and similar to what is
coded in java. If a service return type is described with an interface and
the real content is an implementation object, validation of soap response
will fail. Java clients (cxf aegis client) seem to be smart enough to
unmarshall that kind of inheritance tree, PHP clients need to declare a data
type mapping to complete the inheritance tree, but .NET client are blocking
on validation of the soap response as they fail to match interface and
implementation types.

Does the inheritance tree is too complex for the aegis data binding process? 
Is there option we can tune to make it work?
Is it a nominal behaviour?

Thanks,

Alex


--
View this message in context: 
http://cxf.547215.n5.nabble.com/aegis-databing-SOAP-response-does-not-respect-validation-standard-tp4917484p4917484.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to