Is it possible to call wcf webservice on adf mobile?

358 views Asked by At

I tried to consume a wcf webservice method on adf mobile by using java api as seen as below code snippet. I tried to run on classical adf generic application by creating webservice proxy. Then i could get response properly. But when i consume webservice method on adfmobile i get http 501 error response. I have tried using drag and drop into amx page and execute binding action, result is same. What might be the reason? brgds

private boolean validateClient()
{
    List pnames = new ArrayList();
    List pvals = new ArrayList();
    List ptypes = new ArrayList();


    pnames.add("UserName");
    pvals.add("test");
    ptypes.add(String.class);

    pnames.add("Password");
    pvals.add("123");
    ptypes.add(String.class);

    pnames.add("DeviceID");
    pvals.add("123456");
    ptypes.add(String.class);




    GenericType result = null;
    try
    {
        ClientDetail clientDetail = null;
        result = (GenericType)AdfmfJavaUtilities.invokeDataControlMethod("mlService", null, "ValidateClient", pnames, pvals, ptypes);
        for (int i = 0; i < result.getAttributeCount(); i++)
        {
            // Get each individual GenericType instance that holds the attribute key-value pairs
            GenericType entityGenericType = (GenericType)result.getAttribute(i);
            clientDetail = (ClientDetail)GenericTypeBeanSerializationHelper.fromGenericType(ClientDetail.class, entityGenericType);
        }


        if (clientDetail != null)
        {
            if (clientDetail.getIsValidate().booleanValue())
                return true;
            else
                AdfmfContainerUtilities.invokeContainerJavaScriptFunction("com.accmee.menu", "navigator.notification.alert",
                                                                          new Object[] { "No access",
                                                                                         "No access: ", "Ok" });
        } else
        {
                AdfmfContainerUtilities.invokeContainerJavaScriptFunction("com.accmee.menu", "navigator.notification.alert",
                                                                          new Object[] { "No access",
                                                                                         "No access: ", "Ok" });
            return false;
        }
    }
    catch (AdfInvocationException aie)
    {
        if (AdfInvocationException.CATEGORY_WEBSERVICE.compareTo(aie.getErrorCategory()) == 0)
        {
            throw new AdfException("Error with the server. Please try later.", AdfException.ERROR);
        }
        aie.printStackTrace();
        throw new AdfException("Uzak veri sağlayısı çağrılırken hata oluştu", AdfException.ERROR);
    }
    return false;
}
1

There are 1 answers

1
M.Mostafa On

make sure the WSDL URL is accessible from inside the test environment of the app ( emulator or mobile device)