Hi Graham,
I'm guessing you used example WSDL from part 1 of the spec for this
test. It turns out that the binding, service and interface name
attributes are specified as NCNames but in the example a QName is
used. I posted to the workgroup mailing list and they agreed the
example is wrong [1].

However we do have a problem because BindingElement.setName() takes a
QName as its parameter which means, for the client class of
BindingElement to use setName() it would have to hunt out the
targetNamespace from the Desciprtion first, create a QName and pass to
setName() - not a clean model IMHO.

The BindingElement interface should reflect the XML representation, so
setName() should take an NCName instead of a QName. The problem exists
on BindingElement, InterfaceElement, ServiceElement and
InterfaceFaultElement. I've opened a JIRA [2] to fix this. I'm working
on the solution - done the fixes in src but this breaks a lot in one
of the classes in test.

Since we're close to M5 I think committing it now would potentially
upset the release. So I was going to hold off until M5 is tagged.
John, when do you think that will be - no hurry as I'm not quite ready
to commit.

[1] http://lists.w3.org/Archives/Public/www-ws-desc/2006Jun/0015.html
[2] http://issues.apache.org/jira/browse/WODEN-25

Thanks,
Jeremy

On 5/31/06, Graham Turrell <[EMAIL PROTECTED]> wrote:
Hi,

I've been running through a simple woden test I put together, and am seeing
strange behaviour with QNames.

Heres some (unexciting) sample code:

WSDLFactory factory = WSDLFactory.newInstance();
WSDLReader reader = factory.newWSDLReader();
DescriptionElement descElem = reader.readWSDL(wsdlurl);
ServiceElement[] services = descElem.getServiceElements();

I'm reading the following wsdl2.0 document :

<?xml version="1.0" encoding="UTF-8"?>
<description targetNamespace="http://example.com/bank";
             xmlns="http://www.w3.org/2006/01/wsdl";
             xmlns:tns="http://example.com/bank";
             xmlns:ns1="http://example.com/bank";>
  <interface name="ns1:Bank">
    ....
  </interface>

  <binding name="ns1:BankSOAPBinding">
  ....
  </binding>

  <service name="ns1:BankService"
           interface="tns:Bank">
    <endpoint binding="ns1:BankSOAPBinding"></endpoint>
  </service>
</description>


Now, calling :
services[0].getName().getPrefix() returns emply string
and
services[0].getName().getLocalPart() returns "ns1:BankService"

(same thing happens on the component model).

This looks like a bug. Unless anyone thinks otherwise I'll open a JIRA .



Kind Regards,

Graham.
_____________________________________________
Graham C Turrell CEng, MBCS
Chartered IT Practitioner

WebSphere ESB Foundation Technologies
DE3F16 / MP 211
IBM Labs
Hursley Park
Winchester, Hampshire
England.  SO21 2JN

Tel +44-(0)1962-815018
email: [EMAIL PROTECTED]

"No army can withstand the force of an idea whose time
has come.". -Victor Hugo


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to