【问题标题】:Oracle MAF WebService invokeDataControlMethod SOAP errorOracle MAF WebService invokeDataControlMethod SOAP 错误
【发布时间】:2015-11-11 11:20:05
【问题描述】:

在解决此 invokeDataControl 方法方面的任何帮助将不胜感激。请在下面找到该问题的完整参考链接。我基本上是在尝试执行一个 Oracle/Java MAF 示例来理解这个概念并将其呈现给用户,以应对关键的 go/no-go 情况。

环境:

1) Jdeveloper 12.1.3.0.0 2)MAF 2.0.1 3) 尝试示例:https://java.net/projects/smuenchadf/pages/ADFMobile 中的 DSI037 或“http://deepakcs.blogspot.com/2013/06/offline-data-synchronization-for-adf.html” 4) MAC 操作系统 10.9 5) WebLogic 12C 6) 错误信息

[严重 - oracle.adfmf.framework - HttpServiceConnection - 日志] 连接错误:500 [严重 - oracle.adfmf.framework - HttpTransport - parseResponse] 响应 [错误:{0}]:{1} [严重 - oracle.adfmf.framework - SoapTransportLayer - invokeSoapRequest] 调用 SOAP 请求时遇到异常 端点:http://XXX.XXX.XXX.XXX:80/EJBSyncWebServiceApp/SessionFacadeBeanService SOAPAction:“http://service.soap.dsid.com/persistDepartments” 异常:HTTP 状态代码 500 内部服务器错误:服务器遇到意外情况,无法满足请求。

7) 更多详情:

执行了以下代码。该方法和所有其他方法在 HTTP 分析器中或在单独执行时(使用按钮绑定“persistDepartments”)都可以正常工作,但在 AdfmfJavaUtilities.invokeDataControlMethod 中的包装器中则不行

public void syncDataFromOfflineToOnline() {

      Trace.log(Utility.FrameworkLogger, Level.FINE, this.getClass(), "syncDataFromOfflineToOnline",
              "Executing syncDataFromOfflineToOnline Method");
    try {
        Connection conn = DBConnectionFactory.getConnection();
        conn.setAutoCommit(false);
        PreparedStatement pStmt =
            conn.prepareStatement("SELECT DEPARTMENT_ID, DEPARTMENT_NAME, LOCATION_NAME, STATUS from DEPARTMENTS WHERE STATUS IN (?, ?, ?)");
        pStmt.setString(1, STATUS_NEWLY_CREATED);
        pStmt.setString(2, STATUS_MODIFIED);
        pStmt.setString(3, STATUS_DELETED);
        ResultSet rs = pStmt.executeQuery();
        while (rs.next()) {

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


            Departments dept = new Departments();
            dept.setDepartmentId(rs.getInt("DEPARTMENT_ID"));
            dept.setDepartmentName(rs.getString("DEPARTMENT_NAME"));
            dept.setLocationName(rs.getString("LOCATION_NAME"));
            dept.setStatus(STATUS_NOT_CHANGED);


            if (rs.getString("STATUS").equals(STATUS_NEWLY_CREATED)) {
                System.out.println("I got a STATUS_NEWLY_CREATED");
                GenericType gtDept =
                    GenericTypeBeanSerializationHelper.toGenericType("MYWS.Types.persistDepartments.arg0",
                                                                     dept);
                namesList.add("arg0");
                paramsList.add(gtDept);
                typesList.add(Object.class);

                AdfmfJavaUtilities.invokeDataControlMethod("MYWS", null, "persistDepartments", namesList,
                                                           paramsList, typesList);
                //Once the data sync with online, change the status for the row as STATUS_NOT_CHANGED

                PreparedStatement pStmt1 =
                    conn.prepareStatement("UPDATE DEPARTMENTS SET STATUS=? WHERE DEPARTMENT_ID=?");
                pStmt1.setString(1, STATUS_NOT_CHANGED);
                pStmt1.setInt(2, rs.getInt("DEPARTMENT_ID"));
                pStmt1.execute();              
                conn.commit();

                <<< more codes >>>

【问题讨论】:

    标签: web-services mobile soap oracle-adf oracle-maf


    【解决方案1】:

    我遇到了这个问题。

    将 typesList.add(Object.class) 更改为 typesList.add(GenericType.class)

    【讨论】:

    • 谢谢。我已经更改了声明,但仍然出现相同的错误。如果我使用来自“persistDepartments”DataControl 对象的命令按钮创建一个表单(“arg0”),它工作正常,但我不明白为什么当通过invokeDataControlMethod 以编程方式调用时它不起作用。对我来说,错误消息也显得很笼统。那么使用 Web 应用程序可以提供帮助吗?
    • 已更改但出现相同的错误。如果我使用表单(“arg0”)添加一条记录,它工作正常,但是当通过invokeDataControlMethod 以编程方式调用时同样不起作用。对我来说,错误消息也显得很笼统。那么具有 Web 应用程序知识的人可以提供帮助吗?错误消息 [严重 - oracle.adfmf.framework - HttpServiceConnection - 日志] 连接错误:500 [严重 - oracle.adfmf.framework - HttpTransport - parseResponse] 响应 [错误:{0}]:{1} [严重 - oracle.adfmf .framework - SoapTransportLayer - invokeSoapRequest]
    猜你喜欢
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    相关资源
    最近更新 更多