<bean id="baseService" class=" org.codehaus.xfire.spring.ServiceBean" abstract="true">
<property name="style" value="document"></property>
<property name="use" value="literal"></property>
<property name="inHandlers">
<list>
<ref bean="addressingHandler"/>
</list>
</property>
</bean>
<bean id="financeiroService" parent="baseService">
<property name="implementationClass">
<value>com.waybrasil.services.assinante.financeiro.FinanceiroService </value>
</property>
<property name="serviceBean">
<ref bean="financeiroServiceImpl"/>
</property>
<property name="namespace"><value> http://com.waybrasil.services/FinanceiroService</value></property>
</bean>
public class FinanceiroServiceImpl implements FinanceiroService{
private TituloBO tituloBO;
public List visualizarFaturas(Integer codigoCidade, Integer contrato) {
return tituloBO.obterTitulosAssinante(codigoCidade,contrato);
}
public TituloBO getTituloBO() {
return tituloBO;
}
public void setTituloBO(TituloBO tituloBO) {
this.tituloBO = tituloBO;
}
}
public class TituloBO {
private TituloDAO dao;
public List obterTitulosAssinante(Integer codigoCidade, Integer contrato){
return dao.obterTitulos(codigoCidade,contrato);
}
public TituloDAO getDao() {
return dao;
}
public void setDao(TituloDAO dao) {
this.dao = dao;
}
}
--> This DAO is an Hibernate DAO it's the only place that we might have SessionFactory related elements
public class Titulo implements Entity {
private TituloPK pk;
private String formaPagamento;
private Date dataEmissao;
private Date dataVencimento;
private String codigoBanco;
private String contaCedente;
private String numeroBoleto;
private Double valor;
private Date dataPagemento;
private Date dataBaixa;
private String carteira;
FinanceiroServiceImpl.aegis.xml
<mappings>
<mapping>
<method name="visualizarFaturas">
<return-type componentType=" com.waybrasil.model.persistence.titulos.Titulo"/>
</method>
</mapping>
</mappings>
Ok, couple of questions here as well. If I'm defining my serviceClass as my interface and also my namespace maps to FinanceiroService, why do I must access it using FinanceiroServiceImpl? and Why Aegis binds must have the implementation name as well?
The error I get is:
Couldn't create type for property definedFilterNames on interface org.hibernate.SessionFactory: Cannot create mapping for java.util.Set, unspecified component type for interface java.util.Set
When I try to access the WSDL, I just wonder why, as you can see there's no reference for any Set or Session Factory in my hierarchy.
Dan could you please help me out here? I have till tomorrow to solve this, or they told me that I won't be allowed to use XFire anymore :( (I'll have to go back to Axis)
Best Regards