You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Benson Margulies <bi...@apache.org> on 2008/05/26 16:13:43 UTC

WSDLs with parts with absentee elements

I was tempted to entitle this, "The wonderful WSDL of OZ."

Benjamin Coiffe reported a problem with a WSDL with no body parts. His
stated goal was to be able to make a dynamic client for one of them.

First, he hit a bug that Dan fixed in which some code tried to
reference the nonexistent parts.

Then, he hit the lack of support for attachments (and other JAX-WS
things) in the existing dynamic client.

So, I created a JaxWsDynamicClient, and I set out to set up a test
case for it, modelled on his example. I couldn't use his precise WSDL,
due to an obnoxious Sun IP notice on the top.

When I tried it, the results were not pretty. Faced with <part
name="blooie" type="xsd:base64Binary"/>,

wsdl4j decided to drop the type on the ground and invent an element
name from the part name, instead.

In an effort to see how much of this was going around, I made the
WSDLServiceBuilder check for missing elements instead of just leaving
null XmlSchemaElement references around (which cause other code to
assume that the thing is defined by type instead of by element).

Well, that turned up a medium-sized group of typos in a variety of our
test wsdls -- cases in which there was an element=, but the target of
the element= specified the wrong namespace, or the wrong name.

I think that I've got all of them sewn up (save for one that I have to
leave on Dan's doorstep). Is anyone perturbed by the idea of rejecting
these wsdls instead of silently misinterpreting them?