Hiya,

Comments inline...
Andrea Smyth wrote:

Dan Diephouse wrote:

One change I made locally is to have ServiecModelHttpConfiguration.getObject(name) return endpointInfo.getProperty(name) on line 50 as opposed to returning null.


Hi Dan,

IMO that's fine - the only reason that ServiceModelHttpConfigurationProvider returned null for all but the "server" and "client" properties is that up to now we only expected to find values for these two properties in the service model - if they are supplied as wsdl extensors. If values for these or other properties can also be expected in the EndpointInfo's (or ServiceInfo's) property map, these maps should be consulted also - either by the same provider or a different one.

I guess I'm confused as to why we're taking the provider approach as opposed to just doing a lookup on the service model in the http transport. Can you maybe shed some light here?

The reason that only Endpoint info is searched is that the http policy extensors are only registered for the port element (I believe so at least, can't find the registering code at the moment). But I don't see any reasons for not registering the policies as extensors of the binding or portType elements also (and have the provider look there too).

Yes, I think it'd be beneficial to just have a context hierarchy that gets searched (operation->endpoint->binding->service?)

Andrea.


This allows me to do this:

       JaxWsServerFactoryBean sf = new JaxWsServerFactoryBean();
       sf.setServiceClass(CustomerService.class);
       sf.setBindingFactory(new HttpBindingInfoFactoryBean());
       sf.setAddress("http://localhost:9001/";);

       Map<String, Object> props = new HashMap<String, Object>();
       props.put("contextMatchStrategy", "stem");
       sf.setProperties(props);
ServerImpl svr = (ServerImpl) sf.create(); If someone can shed some light as to whether this was a good/bad thing to do I'd appreciate it :-)

- Dan

Dan Diephouse wrote:

Hiya (CC'ing people directly as the dev list still isn't working)

I was wondering if you could explain the HTTP configuration to me a bit. I am looking at changing the "contextMatchStrategy" setting and wondering:

1. How would I change it globally?
2. How would I change it at the service/endpoint level?

Right now I'm doing this:

((JettyHTTPDestination) server.getDestination()).setContextMatchStrategy("stem");

It works, but its not very Spring amenable. I'm wondering what a better way is :-)

There seems to be a ServiceModelHttpConfigurationProvider class that looks at the EndpointInfo, but I'm wondering why do we need to support multiple configuration providers. Couldn't we just assume that if there is going to be something overriding the configuration it will be in the service model? WSDL extensors should end up there, as could user configured values. Additionally, I think it would be good to check things beside the EndpointInfo, like the Service itself.

Thanks,
- Dan






--
Dan Diephouse
(616) 971-2053
Envoi Solutions LLC
http://netzooid.com

Reply via email to