in the port section of a WSDL file one can put topological information i.e. where the service is located. In the standard SOPA/HTTP binding this is done with a URL; other protocol may provide its own way to localize the service throu the extension of WSDL.
When I read this part of the specification this concept struk me causing in me the feeling of a regression in respect to other distribuited compuntis system like corba or rmi where you use a naming service to localize the service.
I know that the naming service candidate in web services is a UDDI server but it doesn't really work like that: UDDI is mainly aimed to provide the entire WSDL to build a dynamic client. I don't know anyone that use a UDDI just to obtain the URL of a service.
Nevertheless this situation may cause some problem; in fact when you migrate a server (for example when you change environment form development to integrated test) you have to change the WSDL and regenerate the client stub.
Do I get i right or do i missed a piece of the puzzle?
What do you think ?
Yes, dynamic discovery is needed, and at this time there is no clear way embraced by majority, and no mature implementations either.
In any case, WSDL could be a smaller building block. For instance nothing prevents web service container from enumerating these ports and publishing them automatically to UDDI or over WS-Discovery mechanisms. Then client can use service (or port) name to lookup UDDI entry or do WS-Discovery probe.