我正在做siebel_atg参考集成。这里我需要在"siebelBuild.xml"上进行编译/安装。在这一步中,有2个目标。一个是"all
",一个是"all-with-ws
"。但是我的要求只是获得importFromSiebel和getJobStatus web服务。
有没有办法单独制作web服务?
请建议. .
我是这个项目的架构师。很高兴看到有人用它!
作为bated状态,推荐的方法是构建整个模块并只使用需要的部分。
但是,对于initialServices中的属性似乎有一点混淆。属性文件wrt到出站web服务(即ATG用来调用Siebel的那些)。
只是为了澄清一下:
all-with-ws构建入站web服务(即由Siebel调用的web服务),这些服务可以在SiebelWS子模块中找到。运行'all'将不会构建此子模块。
在initialServices中,这些属性文件中引用的组件(ABOWebService等)引用了Web服务池机制。如果您深入研究被引用的组件,您将看到对PortPool组件的引用,其目的是在服务器启动期间创建WS端口存根对象的初始池(因为在运行时对它们的实例化非常昂贵)。删除这些并不会阻止出站web服务对象的生成&已编译(实际上我们需要生成的源代码来构建项目)。
我的建议是构建all-with-ws,并且只使用项目中您感兴趣的部分,通过扩展模块来定制它。如前所述,更改参考实现代码将使升级成为一场噩梦。
Oracle Commerce和Siebel Reference应用程序是标准的OC模块格式,包括源代码。在我看来,你有两个选择:
- 找出所有的代码依赖项,并删除我们不会使用的代码和配置(不推荐)
- 按原样使用模块并禁用不打算使用的web服务。(推荐方法)
我推荐选项2的原因是:
- 不会使Oracle的支持失效
- 如果将来你想使用其他web服务,你所要做的就是启用它们
- 升级到Oracle Commerce将更容易
摘自Oracle Support语句
Oracle将不支持对Oracle Commerce/Siebel Reference Integration Pack代码所做的更改、自定义或扩展,也不支持由这些更改引起的任何实现问题。
下面是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
你可以简单地从这个文件中删除你不需要的web服务,或者用你自己的属性文件覆盖它(假设各自的web服务之间没有依赖关系)
如果您使用的是参考应用程序的不同版本,您的文件可能看起来不同,但方法是相同的。