> -----Original Message----- > From: Dan Diephouse [mailto:[EMAIL PROTECTED] > Sent: 11 April 2007 19:54 > To: [email protected] > Cc: [email protected] > Subject: Client & Endpoint Config [was Re: Generic client config] > > On 4/11/07, Dan Diephouse <[EMAIL PROTECTED]> wrote: > > > > Hiya > > > > On 4/11/07, Glynn, Eoghan <[EMAIL PROTECTED]> wrote: > > > > > > > > 1. How does the <jaxws:client> id attribute relate to the target > > > port name? e.g. id="MyPort", or id="MyService/MyPort", or > > > id="{http://myNamespace}MyService/MyPort ", or some wildcarded > > > variant, or something else entirely? > > > > > > It pulls out the <jaxws:client> config by the port name. > > > > From the ServiceImplTest/soapServiceConfig.xml: > > > > <jaxws:client id="{ > http://apache.org/hello_world_soap_http}SoapPort<http://apache > .org/hello_world_soap_http%7DSoapPort>" > > abstract="true"> > > <jaxws:properties> > > <entry key="foo" value="bar"/> > > </jaxws:properties> > > </jaxws:client> > > > > > I'm just thinking through this some more... > > I think this is liable not to work if we have both an > <endpoint> and <client> defined in the same context as Spring > will create the same ids for them. Therefore when we do > configureObject() its liable to get confused and not work. > > What do people think of requiring that people add ".client" > or ".endpoint" > to the ids? Maybe I'm missing something, but that might be > the only way to get this to work.
Well I guess the ".client" suffix would line up with the ".http-conduit" style used elsewhere. Which I guess brings us rounf to the "what if the same port name is used in multiple services" question brought up by Fred recently in relation to the http-conduit config. The consensus on that seemed to be that it would be a good idea to add the service name into the bean ID in order to distinguish between the similarly named ports, and to use a regex-based wild-carding scheme to support semantics like "http://myNamespace}ServiceA/.*" meaning "all ports associated with ServiceA" or "http://myNamespace}.*/Http.*" meaning "any port name starting with Http" etc. Probably a good idea to have the same flexibility with the <jaxws:client> config. Cheers, Eoghan
