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]