用于 MTOM 测试的 DataSourceStreamingDataHandler 替代方案

Alternative to DataSourceStreamingDataHandler for MTOM testing

在 JUnit 测试中,我使用 class com.sun.xml.internal.ws.encoding.DataSourceStreamingDataHandler 这很糟糕,因为它是一个内部 class 并且 Maven 拒绝编译我的 JUnit 测试,即使使用 -DskipTests旗帜。

我的 JUnit 测试是:

@Test
public void test(){
    ClassToTest tom = new ClassToTest();
    URL url = this.getClass().getResource("/myXMLFile.xml");
    File file = new File(url.getPath());
    DataSource dataSource = new FileDataSource(file);
    DataHandler dataHandler = new DataSourceStreamingDataHandler(dataSource);
    MyJAXBObject list = tom.methodToTest(dataHandler);
    for( JAXBTransazioneICT t : lista.getListaTransazioniICT() ){
        LOG.debug(t.toString());
    }
}

这个class有什么好的替代品吗?如果没有,我该如何编译我的 Maven 项目?

我找到的替代方案是 org.apache.axiom.attachments.ConfigurableDataHandler 来自 Axiom API。

maven依赖是:

<dependency>
    <groupId>org.apache.ws.commons.axiom</groupId>
    <artifactId>axiom-api</artifactId>
    <version>1.2.14</version>
</dependency>