是否可以在adf mobile上调用wcf web服务?

时间:2013-12-19 17:53:53

标签: oracle-adf-mobile

我尝试使用java api在adf mobile上使用wcf webservice方法,如下面的代码片段所示。 我试图通过创建webservice代理来运行经典的adf通用应用程序。然后我可以得到正确的回应。但是当我在adfm​​obile上使用webservice方法时,我得到了http 501错误响应。我曾尝试使用拖放到amx页面并执行绑定操作,结果相同。 可能是什么原因? 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 个答案:

答案 0 :(得分:0)

确保可以从应用程序(模拟器或移动设备)的测试环境中访问WSDL URL