Dwr 2 + STRUTS 2 + spring 2.5

Pessoal,

existe uma maneira de quando eu invocar meu service que está na action não acontecer nullpointer?
Porque pelo que percebi as requisições do dwr quando feitas os services estão todos null.

Traduzindo:
no onchange desse combo, chamar a função listada a seguir

<s:select id="taxonomia" name="idTaxonomia" theme="simple" label="Taxonomia" labelposition="top" onchange="submitCombo(this.value)" list="taxonomias" listKey="id" headerKey="" headerValue="Selecione" listValue="descricao" value="idTaxonomia" /> <br> function submitCombo(idTaxonomia){ UploadDocumentoAction.preparaTela(idTaxonomia); }

Na classe eu utilizo

@RemoteMethod public void preparaTela(Long idTaxonomia) { TaxonomiaModel taxonomia = taxonomiaService.load(idTaxonomia); List<ConceitoModel> conceitosPersistidos = conceitoService .getByTaxonomia(taxonomia); DwrUtil.getUtil().setValue("contentXML", new GenerateTreeXML().defineTree(conceitosPersistidos)); this.setDominioSelecionado(true); this.carregaCombos(); }
só que da nullpointer exception para qualquer atributo da action que eu tente usar.
Existe alguma forma de evitar isso?

Tentei criar um façade gerenciado pelo spring fazendo assim:

@RemoteMethod public void preparaTela(Long idTaxonomia) { FacadeAjax facadeAjax = new FacadeAjax(); TaxonomiaModel taxonomia = facadeAjax.getTaxonomiaService().load(idTaxonomia); DwrUtil.getUtil().setValue("contentXML", new GenerateTreeXML().defineTree(taxonomia.getConceitos())); this.setDominioSelecionado(true); this.carregaCombos(); }

mas mesmo assim tenho nullpointer.

<bean id="facadeAjax" class="br.ucsal.projeto.domain.facade.FacadeAjax" scope="prototype"> <property name="taxonomiaService"> <ref bean="taxonomiaService" /> </property> </bean>

esse service eu também uso na action, portanto ele funciona.
Alguém tem alguma outra sugestão?

Criei a classe FacadeFactory:

[code]public class FacadeFactory {

private static ApplicationContext context;

static{
	context = new ClassPathXmlApplicationContext(
			new String[] { "applicationContext-persistence.xml",
					"applicationContext-service.xml",
					"applicationContext-view.xml" });
}

public static FacadeAjax getFacadeAjax() {
	return (FacadeAjax) context.getBean("facadeAjax");
}

}[/code]

e lá no método chamo o getFacadeAjax.
Problema resolvido…