如何获得ATG webservices(importFromSiebel,getJobStatus)?

时间:2016-06-29 11:56:22

标签: atg siebel atg-dynamo oracle-commerce

我正在做siebel_atg参考集成。在这里,我需要在" siebelBuild.xml"上进行编译/安装。在这一步中,有2个目标。一个是" all",另一个是" all-with-ws"。但我的要求只是获取importFromSiebel和getJobStatus Webservices。

是否可以单独制作网络服务?

请建议..

2 个答案:

答案 0 :(得分:0)

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

  1. 弄清楚我们不会使用的所有代码依赖关系和删除以及代码和配置(不推荐)
  2. 按原样使用模块并禁用您不打算使用的Web服务。 (推荐方法)
  3. 我推荐选项2 的原因是:

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

    从Oracle支持声明中摘录:

      

    Oracle不会为对Oracle Commerce / Siebel Reference Integration Pack代码所做的更改,自定义或扩展提供支持,也不会为此类更改引起的任何实现问题提供支持。

    以下是适用于版本11.1.1的Oracle Commerce和Siebel集成参考应用程序中的/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
    

    您只需从此文件中删除不需要的Web服务,或者使用您自己的属性文件覆盖它(假设各个Web服务之间没有依赖关系)

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

答案 1 :(得分:0)

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

作为状态,建议的方法是构建整个模块并仅使用您需要的内容。

但是,对于出站Web服务(即ATG用于调用Siebel的那些)的Initial.properties文件中的initialServices中的属性似乎有点混淆。

只是为了澄清事情:

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

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

我的建议是使用ws构建all-with-ws,只使用你感兴趣的项目部分来扩展模块以进行自定义。如上所述,更改参考实施代码将使升级变成一场噩梦。