Hi,
Jdev: 11.1.2.4.0
I am trying to invoke web service into adf mobile application , but i am getting Error:
"Unable to read DataControl Usages, on loadDataControl for id"
My java code:
FindDetails.java--->
import java.util.ArrayList;
import java.util.List;
import oracle.adfmf.framework.api.AdfmfJavaUtilities;
import oracle.adfmf.framework.api.GenericTypeBeanSerializationHelper;
import oracle.adfmf.framework.exception.AdfException;
import oracle.adfmf.java.beans.PropertyChangeSupport;
import oracle.adfmf.java.beans.ProviderChangeSupport;
import oracle.adfmf.util.GenericType;
public class FindDetails {
List user=new ArrayList();
public FindDetails() {
super();
}
public userTaskPojo[] getDetails(){
userTaskPojo[] usertaskArray=(userTaskPojo[])user.toArray(new userTaskPojo[user.size()]);
return usertaskArray;
}
private transient PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
private transient ProviderChangeSupport providerChangeSupport = new ProviderChangeSupport(this);
public boolean find(String userName){
boolean ret = false;
try{
userTaskPojo[] old=getDetails();
user.clear();
List pnames = new ArrayList();
List params = new ArrayList();
List ptypes = new ArrayList();
pnames.add("USERNAME");
ptypes.add(String.class);
params.add(userName);
GenericType result =
(GenericType)AdfmfJavaUtilities.invokeDataControlMethod("CustomBPMWebservice", null, "getUserTasks",
pnames, params, ptypes);
for (int i = 0; i < result.getAttributeCount(); i++) {
GenericType entityGenericType = (GenericType)result.getAttribute(i);
userTaskPojo utp =
(userTaskPojo)GenericTypeBeanSerializationHelper.fromGenericType(userTaskPojo.class,
entityGenericType);
user.add(utp);
}
userTaskPojo[] newDeps = getDetails();
propertyChangeSupport.firePropertyChange("user", old, newDeps);
providerChangeSupport.fireProviderRefresh("user");
} catch (Exception e) {
throw new AdfException(e.getLocalizedMessage(), AdfException.ERROR);
}
return true;
}
}
Search.java-->
import oracle.adfmf.framework.exception.AdfInvocationException;
import oracle.adfmf.java.beans.PropertyChangeListener;
import oracle.adfmf.java.beans.PropertyChangeSupport;
public class Search {
// public static Details d;
public static FindDetails fd;
private String userName = "achrist";
private transient PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
public Search() {
fd=new FindDetails();
}
public void addPropertyChangeListener(PropertyChangeListener l) {
propertyChangeSupport.addPropertyChangeListener(l);
}
public void removePropertyChangeListener(PropertyChangeListener l) {
propertyChangeSupport.removePropertyChangeListener(l);
}
public String goDetails() throws AdfInvocationException {
String ret = "";
// We only navigate to the forecastResults if the retrieveForecast succeeds
if (fd.find(userName)) {
ret = "result";
}
return ret;
}
public void setUserName(String userName) {
String olduserName = this.userName;
this.userName = userName;
propertyChangeSupport.firePropertyChange("userName", olduserName, userName);
}
public String getUserName() {
return userName;
}
}
Search.amx-->
<amx:commandButton id="cb2" text="search" action="#{pageFlowScope.Search.goDeatails}"/>
</amx:facet>
<amx:inputText id="it1" value="#{pageFlowScope.Search.userName}"/>
Pls help me in it
Sudheer.