On 4/17/07, James Mao <[EMAIL PROTECTED]> wrote:
Again, In AbstractEndpointFactory around line 181, we hard coded the transportId to transportId = "http://schemas.xmlsoap.org/wsdl/soap/"; Which is not ok when it's SOAP12, in which case, it should be transportId = "http://schemas.xmlsoap.org/wsdl/soap12/"; I will remove this line, and fix the following testcases: ReflectionServiceFactoryTest ClientFactoryBeanTest in these two tests, we use set "http://schemas.xmlsoap.org/soap/http" as the transportId, which i think should be changed to http://schemas.xmlsoap.org/wsdl/soap/
The lines in those tests which do factory.setTransportId(..) can actually be removed as they aren't needed. Not sure if this helps at all, but inside AbstractEndpointFactory we do use that as the transport ID if we have a SOAP binding. This is so the SoapTransportFactory can customize the WSDL extensors (via createPortExtensors). SoapTransportFactory then just delegates to whatever the real transport is... We really need to put the namespaces into one place.
Let me know if I'm wrong. James. James Mao wrote: > I can see a lot of hard coded namespace in > AbstractEndpointFactory/SOAPBindingFactory/ServerWSDLBuilder, i think > we should put those in one place > > I don't know what's "http://schemas.xmlsoap.org/soap/" means > In AbstractEndpointFactory it's binding, but in SoapTransportFactory > it's transportid > > From the java2wsdl we used the AbstractEndpointFactory, from the > generated wsdl, i can see lots of namespace in definition, some of > them can be removed > e.g xmlns:soap="http://schemas.xmlsoap.org/soap/", i don't know what > is it, seems never used in the whole wsdl. > > Whatever soap version we used, we put both soap11/soap12 namespaces > in definition. > I will add the build(HashSet<String, String> ns) to > ServiceWSDLBuilder, after that we don't need hard code the namespaces > in ServiceWSDLBuilder > > Cheers, > James. >
-- Dan Diephouse Envoi Solutions http://envoisolutions.com | http://netzooid.com/blog
