首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebMethods中的包创建

WebMethods中的包创建
EN

Stack Overflow用户
提问于 2013-11-20 18:49:48
回答 1查看 4.1K关注 0票数 3

任何人都知道是否可以使用webMethods developer 7.1中的flow服务创建一个新包。我想要做的是创建一个流服务,它以字符串(包名)作为输入,因此它将创建以字符串作为名称的新包。开发人员中是否存在我可以从我的服务中调用并自动创建包而不是文件->新->包的东西?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-21 22:49:36

据我所知,没有公开/文档化的方法来以编程的方式创建新的包。但是,如果您不介意使用私有/无文档的服务,并且理解这样做不会得到SoftwareAG的认可,那么您可以这样做:

  • 如果您无法在Developer/Designer中看到WmRoot包(这是按设计进行的,因为它被认为是私有的),您可以向文件./IntegrationServer/config/server.cnfwatt.server.ns.hideWmRoot=false添加以下配置键
  • 使用服务WmRoot/wm.server.packages:packageCreate创建一个新的未激活包。不幸的是,对此(以及大多数其他WmRoot服务)的输入和输出尚未声明,但您只需将名为package的字符串变量添加到所需的包名以调用它。
  • 使用服务WmPublic/pub.packages:activatePackage激活新包。

为了增加积分,您还可以使用服务WmRoot/wm.server.services:serviceAdd编程地在包中创建新服务(这是WmRoot中少数几个仁慈地声明其输入和输出的服务之一)。

或者,如果您不希望使用私有/无文档的服务,您可以创建自己的服务来相对容易地创建一个新包。由于一个全新的包只是一个空目录和一个manifest.v3文件的集合,所以您可以编写自己的服务来创建这些目录和文件,然后调用WmPublic/pub.packages:activatePackage来激活它:

  • IntegrationServer/
    • packages/
      • <package_name>/ -使用所需的包名(强制) 创建这个目录
        • code/ -创建此目录(可选)
          • classes/ -创建此目录(可选)
          • jars/ -创建此目录(可选)
          • source/ -创建此目录(可选)

代码语言:javascript
复制
        - `doc/` - create this directory (OPTIONAL)
        - `lib/` - create this directory (OPTIONAL)
        - `ns/` - create this directory (OPTIONAL)
        - `pub/` - create this directory (OPTIONAL) 
            - `index.html` - create this HTML file as a placeholder home page for the package (OPTIONAL)

代码语言:javascript
复制
        - `resources/` - create this directory (OPTIONAL)
        - `templates/` - create this directory (OPTIONAL)
        - `web/` - create this directory (OPTIONAL)
        - `manifest.v3` - create this XML file by copying the structure from another existing package (MANDATORY)

正如您所看到的,创建一个新包所需要的唯一东西是./IntegrationServer/packages/父目录下的一个新目录和一个manifest.v3文件。

来自manifest.v3 IntegrationServer7.1.3中新创建的包的示例webMethods文件如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Values version="2.0">
  <value name="enabled">yes</value>
  <value name="system_package">no</value>
  <value name="version">1.0</value>
  <null name="startup_services"/>
  <null name="shutdown_services"/>
  <null name="replication_services"/>
  <null name="requires"/>
  <null name="listACL"/>
</Values>

最后注意:如果您采用这种构建自己的包创建服务的替代方法,请注意不要创建一个名称被webMethods Integration视为非法的新包。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20104411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档