使用Java在Web服务中编组复杂类型

使用Java在Web服务中编组复杂类型,java,web-services,Java,Web Services,我想将以下类公开为web服务 import cern.colt.matrix.impl.DenseDoubleMatrix2D; public class MatrixAlgebraImpl implements MatrixAlgebra{ public DenseDoubleMatrix2D echo(DenseDoubleMatrix2D matrix) { return matrix; } } 但是,DenseDoubleMatrix2D没有默认构造

我想将以下类公开为web服务

import cern.colt.matrix.impl.DenseDoubleMatrix2D;

public class MatrixAlgebraImpl implements MatrixAlgebra{

    public DenseDoubleMatrix2D echo(DenseDoubleMatrix2D matrix) {
        return matrix;
    }
}
但是,DenseDoubleMatrix2D没有默认构造函数及其第三方库,因此我无法应用任何注释


理想情况下,我不希望对任何代码进行注释,并且一直在寻找使用CXF和Aegis进行注释的方法。但任何解决方案都可以。

创建您自己的类,该类继承自DenseDoubleMatrix2D,并具有默认构造函数。或者使用JAX-B并读取。CXF还支持JAX-B。

这种方法可以工作。然而,我有一个相当大的使用colt的代码库,我不希望对每个colt矩阵类型进行子类划分,也不希望用适配器包装每个端点。有没有其他方法可以实现用任何web服务框架公开这个类而不使用注释的目标?我对此表示怀疑。这些对象必须以某种方式构造。如果没有“no args”构造函数,则必须有人指定要执行的操作。这是一个等级的一个等级。您可以向已成为mahout集合的colt副本提交一个补丁,以不添加args构造函数……感谢您的回答,但是colt矩阵库不是mahout集合的一部分。