如何获取 ATG 网络服务(importFromSiebel、getJobStatus)?

How to get ATG webservices(importFromSiebel,getJobStatus)?

我正在做 siebel_atg 参考集成。这里我需要在 "siebelBuild.xml" 上做 compilation/installation。在此步骤中,有 2 个目标。一个是“all”,另一个是“all-with-ws”。但我的要求只是获取 importFromSiebel 和 getJobStatus Webservices。

有没有办法单独做web服务?

请推荐..

Oracle Commerce 和 Siebel Reference 应用程序采用标准 OC 模块格式,包含源代码。据我所知,您有两个选择:

  1. 找出所有代码依赖项并删除我们不会使用的代码和配置(不推荐)
  2. 按原样使用该模块并禁用您不打算使用的 Web 服务。 (推荐方法)

我推荐选项2的原因是:

  • 它不会使 Oracle 的支持失效
  • 如果以后您想使用其他网络服务,您只需启用它们
  • 升级到 Oracle Commerce 会更容易

Oracle 支持声明摘录:

Oracle will not provide support for changes, customizations or extensions made to the Oracle Commerce /Siebel Reference Integration Pack code, or for any implementation issues that arise from such changes.

以下是来自 Oracle Commerce 和 Siebel Integration 11.1.1 版参考应用程序的/config/atg/Initial.properties

initialServices+=\
    /atg/siebel/configurator/spu/StructuredProductUIRepository,\
    /atg/siebel/configurator/spu/StructuredProductUITools,\
    /atg/siebel/integration/webservices/ABOWebService,\
    /atg/siebel/integration/webservices/CatalogWebService,\
    /atg/siebel/integration/webservices/ProductConfigurator,\
    /atg/siebel/integration/webservices/OrderWebService,\
    /atg/siebel/integration/webservices/OrderDetailWebService,\
    /atg/siebel/integration/webservices/PromotionWebService,\
    /atg/siebel/integration/webservices/QuoteWebService,\
    /atg/siebel/integration/webservices/CalculatePriceWS,\
    /atg/siebel/integration/webservices/EligibilityCompatibility,\
    /atg/siebel/integration/webservices/QuotingWebService,\
    /atg/siebel/integration/webservices/SelfServiceAccount_Service,\
    /atg/siebel/integration/webservices/SelfServiceAccountBillingProfile_Service,\
    /atg/siebel/integration/webservices/SelfServiceAddress_Service,\
    /atg/siebel/integration/webservices/SelfServiceContact_Service,\
    /atg/siebel/integration/webservices/SelfServiceUser_Service,\
    /atg/siebel/integration/webservices/AssetManagement,\
    /atg/siebel/integration/webservices/AssetManagementComplex,\
    /atg/siebel/integration/webservices/SessionAccessWS,\
    /atg/siebel/configurator/spu/generation/BlockGenerationService

您可以简单地从这个文件中删除您不需要的网络服务,或者用您自己的 属性 文件覆盖它(假设各个网络服务之间没有依赖关系)

如果您使用的是不同版本的参考应用程序,您的文件可能看起来不同,但方法是相同的。

我是这个项目的架构师。很高兴看到有人使用它!

如前所述,推荐的方法是构建整个模块并仅使用您需要的部分。

但是,Initial.properties 文件中的 initialServices 中的属性似乎与出站 Web 服务(即 ATG 用来调用 Siebel 的服务)有关。

整理一下:

all-with-ws 构建入站网络服务(即由 Siebel 调用的网络服务),这些可以在 SiebelWS 子模块中找到。 运行 'all' 不会构建此子模块。

WRT initialServices,这些属性文件中引用的组件(ABOWebService 等)指的是 Web 服务池机制。如果深入研究引用的组件,您将看到对 PortPool 组件的引用,其目的是在服务器启动期间创建 WS 端口存根对象的初始池(因为它们在 运行 时的实例化是非常贵)。删除这些不会阻止生成和编译出站 Web 服务对象(实际上我们需要生成的源来构建项目)。

我的建议是构建all-with-ws,只使用你感兴趣的项目部分,通过扩展模块来定制它。如前所述,更改参考实现代码将使升级成为一场噩梦。