0

我为远程数据库创建了一个简单的 SOAP Web 服务,该服务在 WebLogic 12c 服务器和 Jdeveloper HTTP 分析器中运行良好。当我在下面的代码中使用相同的 Web 服务时,我收到以下错误(我已将 System.out.println 输出包含在代码流的参考中)我使用的是 Jdeveloper 12C MAF 2.0.0.0。 41 在 Mac OSx 10.9 上。

Chk #0 处理行# 1 Chk #1 Chk #2 [严重 - oracle.adfmf.framework - AmxBindingContext - loadDataControlById] 无法读取 ID 的 loadDataControl 上的 DataControl 用法:WLFNewActWS。[严重 - oracle.adfmf.framework - SynchronizationDC - syncDataFromOfflineToOnline] [Ljava.lang.StackTraceElement;@467c53d3

    public void syncDataFromOfflineToOnline() {
    Trace.log(Utility.FrameworkLogger, Level.INFO, this.getClass(), "syncDataFromOfflineToOnline",
              "Executing syncDataFromOfflineToOnline Method");
    try {
        Connection conn = DBConnectionFactory.getConnection();
        conn.setAutoCommit(false);
        String select = "SELECT * FROM DEPARTMENTS";
        PreparedStatement pStmt = conn.prepareStatement(select);
        ResultSet rs = pStmt.executeQuery();
        System.out.println("Chk #0");            
        int rowcount = 0;            
        while (rs.next()) {
            rowcount++;
            System.out.println("Processing row# " + rowcount);

            List namesList = new ArrayList(1);
            List paramsList = new ArrayList(1);
            List typesList = new ArrayList(1);  

            Department dept = new Department();

            dept.setDeptId(rs.getInt("DEPARTMENT_ID"));
            dept.setDeptName(rs.getString("DEPARTMENT_NAME"));
            dept.setMgrId(rs.getInt("MANAGER_ID"));                
            dept.setLocId(rs.getInt("LOCATION_ID"));

            System.out.println("Chk #1");
            GenericType gtDept =
                    GenericTypeBeanSerializationHelper.toGenericType("WLFNewActWS.Types.persistDepartments.arg0", dept);

                System.out.println("Chk #2");                
                namesList.add("arg0");
                paramsList.add(gtDept);
                typesList.add(GenericType.class);   

                AdfmfJavaUtilities.invokeDataControlMethod("WLFNewActWS", null, "persistDepartments", namesList,
                                                           paramsList, typesList);
            System.out.println("Chk #3");
        }
    } catch (SQLException e) {
        Trace.log(Utility.FrameworkLogger, Level.SEVERE, this.getClass(), "syncDataFromOfflineToOnline",
                  e.getMessage());
    } catch (Exception e) {
        Trace.log(Utility.FrameworkLogger, Level.SEVERE, this.getClass(), "syncDataFromOfflineToOnline",
                  e.getStackTrace());
    }
}
4

2 回答 2

1

这可能不是这个问题的答案,但它可能是搜索“无法读取 DataControl Usages, on loadDataControl for id ”的人的答案

就我而言,它与 Oracle MAF 一起使用,但这也适用于 Oracle ADF。

您的 Web 服务需要位于 DataBindings.cpx 文件中。

就像是:

<dataControlUsages>
    <dc id="WLFNewActWS " path="mobile.WLFNewActWS "/>
</dataControlUsages>

我作弊并将某些东西从 WS 拖到一个页面中,并让 jdeveloper 为我在 DataBindings.cpx 中添加记录。

于 2015-10-21T21:46:46.480 回答
0

这发生在绑定问题上。amx请在您的页面中创建对“WLFNewActWS”的引用/绑定。它会解决你的问题...!

于 2016-10-05T13:08:18.050 回答