Andrea Smyth wrote:

Glynn, Eoghan wrote:

Back in the day, I'm pretty sure that the port-specific config had
*both* the service and the port names encoded in the bean ID.
The syntax was something like
{http://foo.bar/context}SomeService/SomePort.whatever

I'm not sure though if its still possible to specify the service name in
this way, and if not what the motivation was for changing this.
Can't remember either, one reason may have been the readability of bean file (the long bean names are far from ideal) trading the flexibility of being able to configure conduits on a per endpoint basis for shorter names and only being able to configure conduits on a per port name basis. It's easy enough to change though: in HTTPConduit.getBeanName(), prefix the current bean name with
endpointInfo.getServiceInfo().getName().toString() + "." + ...
Same in AbstractHTTPDestination.
Existing bean files (samples, tests ...) need to be updated.

Andrea.

Having said that the we can alleviate the pain of these long bean names by re-introducing some form of wildcarding (Objectweb Celtix supported it), in which the bean definition with the name that best matches that of the object you want to configure is used for injection.
I'll see if I get a change to do this.

Andrea.


/Eoghan

-----Original Message-----
From: Fred Dushin [mailto:[EMAIL PROTECTED] Sent: 05 April 2007 01:30
To: [email protected]
Subject: http-(conduit|destination) cfg


The CXF https sample has bean configurations of the form:

<bean name="{http://foo.bar/context}SomePort.http-conduit"; ...> <bean name="{http://foo.bar/context}SomePort.http-destination"; ...>

I'm trying to get a grip on the name parameter here, and its semantics.

I understand and fully appreciate the idea that this lets you do configuration on a per-endpoint basis, but I think I might be missing something about what an endpoint is, in WSDL. I was always under the impression that an endpoint is more or less a pair of QNames -- a service qname and a port (q)name. Isn't that right?

The config above seems to either ignore the service, or it chooses a default, somehow.

E.g., what would happen if your services section was something like:

    <wsdl:service name="ServiceA">
        <wsdl:port binding="tns:SomeBinding" name="PortA">
            <soap:address location="..."/>
        </wsdl:port>
    </wsdl:service>

    <wsdl:service name="ServiceB">
<wsdl:port binding="tns:SomeBinding" name="PortA"> <!-- not a typo -->
            <soap:address location="..."/>
        </wsdl:port>
    </wsdl:service>

I.e., 2 distinct services have the same port name. Is this prohibited in WSDL? If not, is there an alternate syntax for conduits and destinations that allows you to specify the service in which a port is defined?

Again, apologies for the naive questions. If you'd prefer, you can tell me to go RTFS.

-Fred




Reply via email to