views:

38

answers:

1

I have to migrate from Spring 2.5 to 3.0. My web services are still running with Axis 1.4, with Spring 2.5 I was rather simple, every class of a service implementation extends the ServletEndpointSupport. In Spring 3.0 the ServletEndpointSupport is deprecated.

For example:

public class PersonBindingImpl extends ServletEndpointSupport implements PersonPortType {

    public PersonDaten PersonQueryRequest(XPAPersonRequest request) throws RemoteException, XPAException {
            PersonsImpl persons = getWebApplicationContext().getBean("personImpl", PersonsImpl.class);
            return persons.getAllByGroup(request.getGroup());
    }
}

Is there a way to get the ApplicationContext in Spring 3 in such a simple way as in Spring 2.5.

+1  A: 

Just because ServletEndpointSupport is deprecated, doesn't mean you shouldn't use it, it just means it's only there to support an obsolete or obsolescent mechanism - in this case JAX-RPC (Axis 1). The javadoc for ServletEndpointSupport says:

deprecated in favor of JAX-WS support in org.springframework.remoting.jaxws

In other words, Axis 1 itself is obsolete (as you know), and so Spring 3 provides no up-to-date support for it.

This is similar to the huge number of pre-Spring 2.5 apps out there still using the old Controller hierarchy, which is deprecated in Spring 3, but isn't going anywhere any time soon.

skaffman