SoftwareAG webMethods Designer 需要您将外部 JAR 添加到以下两者:
- Integration Server 包,位于
./packages/<package>/code/jars/
或./packages/<package>/code/jars/static/
文件夹中,具体取决于您是否需要动态加载 JAR 并仅对拥有的包可用,或者在服务器启动时静态加载并分别对所有包可用,以及
- Designer 为 Eclipse 工作区文件夹中的包创建的服务开发项目。
您可能还没有完成第二步,这就是您的服务无法编译或出现错误的原因。
webMethods 服务开发帮助指南(版本 9.8)的第 312 页有以下建议:
如果您的 Java 服务需要编译其他类,则必须将它们作为单独的类文件或 jar 文件添加到服务开发项目和集成服务器中。如果您在 Integration Server 中为 Java 服务设置 IS 包依赖项,并且 IS 包中存在所需的类和/或 jar 文件以便可以编译服务,则必须手动将它们添加到服务开发项目中。有关详细信息,请参阅第 317 页上的“将类添加到服务开发项目”。有关将类添加到 Integration Server 以及 Integration Server 如何存储包信息的详细信息,请参阅 webMethods Integration Server 管理员指南。
然后第 317 页描述了如何将类和 JAR 添加到服务开发项目:
向服务开发项目添加类
如果 Java 服务需要编译其他类,则必须将它们添加到以下位置:
- 本地工作区中的服务开发项目,以便 Designer 可以编译服务。
- Integration Server 使服务器可以编译服务。Designer 不会自动将您添加到服务开发项目的类传播到集成服务器;您必须手动将它们添加到集成服务器。有关向 Integration Server 添加类的更多信息,请参阅 webMethods Integration Server 管理员指南中有关管理 IS 包以及 Integration Server 如何存储 IS 包信息的信息。
向服务开发项目添加类时,请记住以下几点:
- 您将单个类文件添加到
classes
服务开发项目的文件夹中。
- 如果您有一起打包在 jar 文件中的 Java 类,则将 jar 文件添加到
lib
服务开发项目的文件夹中。
- 如果您在 Integration Server 中为 Java 服务设置 IS 包依赖项,并且 IS 包中有类和/或 jar 文件需要编译服务,则必须手动将它们添加到服务开发项目。
将类和 jar 文件添加到服务开发项目:
- 打开项目资源管理器视图。
展开 Java 服务的服务开发项目。服务开发项目名称使用以下格式,其中 packageName 是服务所在的 IS 包的名称,hostName 是服务所在的 Integration Server 的主机名,portNumber 是 Integration Server 的端口号:
<packageName >[<hostName >_<portNumber >]
例如,如果您要为
集成服务器上order.orderStatus:checkStatus
IS 包中的服务添加类和 jar 文件,并使用主机名和端口号,您可以使用以下名称扩展服务开发项目:Accounting
ServerA:5555
Accounting[ServerA_5555]
有关详细信息,请参阅“本地工作区中的服务开发项目”(第 308 页)。
如果要将类文件添加到服务开发项目,请将它们从文件系统拖到classes
项目资源管理器视图中服务开发项目的文件夹中。
添加类文件时,请确保保持 Java 包的结构完整。例如,如果要添加
com.accounting.orders.statusClass.class
,则必须先在文件夹内
创建com
、accounting
、 和文件夹,如下所示:orders
classes
然后将文件添加到statusClass.class
文件orders
夹中。
- 如果要将 jar 文件添加到服务开发项目,请将它们从文件系统拖到
lib
Project Explorer 视图中的服务开发项目文件夹中。