If u are using Collection like Map in the service operation as return type or parameter, fo ex
public interface IOfficeSetupHierService {
public Map getDetails(String username,String password,int deptid);
}
use IOfficeSetupHierService.aegis.xml as
<?xml version=”1.0″ encoding=”UTF-8″?>
<mappings xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://xfire.codehaus.org/schemas/1.0/mapping.xsd”>
<mapping>
<method name=”getDetails”>
<return-type mappedName=”OfficeMap” keyType=”java.lang.String” componentType=”com.hr.service.Office”/>
</method>
</mapping>
</mappings>
where office is object in map.
Also when u are using Map as property in a class like
public class ClassName
{
private Map mapping;
public Map getMapping()
{
}
public Map setMapping()
{
}
}
use ClassName.aegis.xml as
<?xml version=”1.0″ encoding=”UTF-8″?>
<mappings xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://xfire.codehaus.org/schemas/1.0/mapping.xsd”>
<mapping>
<property name=”mapping” keyType=”java.lang.String” componentType=”com.hr.service.Office”/>
</mapping>
</mappings>
Make sure to keep these xml files in the same folder as the classes.
Similarly for List
<?xml version=”1.0″ encoding=”UTF-8″?>
<mappings xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://xfire.codehaus.org/schemas/1.0/mapping.xsd”>
<mapping>
<method name=”getDetails”>
<return-type mappedName=”SeasonalOfficeList” componentType=”com.hr.service.SeasonalOffice”/>
</method>
</mapping>
</mappings>
where getDetails is an service operation that is returning a List.
On using List, on the client side the class obtained will be like ArrayOfSeasonalOffice from which u can get the SeasonalOffice. This is due to the way WSDL is generated.
Ask me if u need any thing else.
Do provide your contact number or email in case u need more help
bye