目前,我正在尝试通过单击 Oracle Forms 上的按钮来实现一个简单的 REST API 触发器。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.Serializable;
public class CatFactBean implements Serializable {
private static final long serialVersionUID = 1L;
// Method to get a random cat fact
public String getCatFact() {
try {
String urlString = "https://catfact.ninja/fact";
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
// Set the User-Agent header
connection.setRequestProperty("User-Agent", "Mozilla/5.0");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
connection.disconnect();
return content.toString();
} catch (Exception e) {
return "Error: " + e.getMessage();
}
}
// Main method for testing the getCatFact method
public static void main(String[] args) {
CatFactBean catFactBean = new CatFactBean();
String catFact = catFactBean.getCatFact();
System.out.println("Cat Fact: " + catFact);
}
}
这是我尝试在 Oracle Forms 应用程序上运行的 java 代码。我已将其编译成一个 jar 并将其放入 K:\Oracle\Middleware orms\java 中,所有其他 jar 都驻留在其中,以便手动安装 Oracle Forms。
我的 default.env 中当前的 CLASSPATH 是:
CLASSPATH=K:\Oracle\Middleware\jlib\importer.jar;K:\Oracle\Middleware\jlib rmbipc.jar;K:\Oracle\Middleware orms\j2ee rmsrv.jar;K:\Oracle\Middleware orms\provision rmconfig.jar;K:\Oracle\Middleware\jlib\ldapjclnt11.jar;K:\Oracle\Middleware\jlib\debugger.jar;K:\Oracle\Middleware\oracle_common\jlib wt3.jar;K:\Oracle\ Middleware\oracle_common\modules\oracle.bali.share\share.jar;K:\Oracle\Middleware\jlib\utj.jar;K:\Oracle\Middleware\jlib\zrclient.jar;K:\Oracle\Middleware eports\jlib wrun.jar;K:\Oracle\Middleware orms\java rmwebutil.jar;K:\Oracle\Middleware orms\java rmRest.jar;K:\Oracle\Middleware orms\java\CatFactBean.jar
遵循 Oracle Forms Javaimport 文档,
类浏览器列出了 CLASSPATH 中找到的所有 Java 类。课程顺序为 它们在 CLASSPATH 中的表示方式相同。
这意味着在 Oracle Form Builder 中,当我想从 CLASSPATH 导入 jar 时,它是可见的。但这不适合我的情况。我在这里做错了什么吗?
从 Oracle Form Builder 中,我尝试导入名为 CatFactBean.jar 或 CatFactBean 的 jar 文件,或者我尝试使用的另一个 jar 文件是 frmRest.jar 或 frmRest.getRest。我将不断发生异常:java.lang.ClassNotFoundException:frmRest.getRest。
我期望 CLASSPATH 中列出的所有 jar 文件都可以在这里看到。
尝试在 Oracle Forms Builder 中导入类时,请确保使用完全限定的类名。 例如,如果您的类
CatFactBean
在包中 com.example,
使用:
import com.example.CatFactBean;
如果你的
CatFactBean
类中没有包声明,只需像这样导入它:
import CatFactBean;
确保类名的大小写与代码中的完全匹配。