如果 sjsxp 和 wstx 都在类路径中,如何选择它们的实现

发布于 2024-09-11 07:29:16 字数 168 浏览 2 评论 0原文

Axis2 依赖 woodstox 的 wstx,而我项目的其他部分已经使用 sjsxp 进行了大量测试,我们无法重新运行相同的测试。现在,使用 axis2 解析 SOAP 消息存在问题,如果我去掉 sjsxp,问题就消失了。有没有办法告诉 axis2 使用 wstx 实现,而让项目的其余部分单独使用 sjsxp 实现?

Axis2 relies on woodstox's wstx while other part of my project has tested heavily with sjsxp and we can't afford to rerun the same test. Now, there is a problem with parsing SOAP message with axis2 that if I take away sjsxp, the problem is gone. Is there a way to tell axis2 to use the wstx implementation and leave the rest of the project alone to use sjsxp implementation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

为人所爱 2024-09-18 07:29:16

最简单的方法是永远不要使用 XMLInputFactory.createInstance() (对于 XMLOutputFactory 也是如此)。
而是使用显式构造函数——这些发现方法背后的意图是好的,但不幸的是,在我看来,它们往往更麻烦而不值得。
为了减少直接使用构造函数的显式依赖,最好使用像 Guice 这样的依赖注入库(Spring 和其他库也可以这样做),以便实例化只发生在一个地方。

这适用于您的项目部分,但无法解决 Axis2 问题。我怀疑 Axis2 有一个设置,但我不知道它是什么。

Simplest way is to never use XMLInputFactory.createInstance() (and same for XMLOutputFactory).
Rather use explicit constructors -- the intent behind these discovery methods is nice, but unfortunately they tend to be more hassle than worth in my opinion.
To reduce explicit dependencies from using constructors directly it's probably best to use a dependency injection library like Guice (Spring and others will do too) so that instantiation occurs in just one place.

This would work for your part of project but would not solve Axis2 issue. I suspect there is a setting for Axis2 but I don't know what it would be off-hand.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文