繁体   English   中英

具有通用方法的Java Webservice

[英]Java Webservice with generic methods

我想知道是否有可能在Java中像这样制作通用的Web服务方法:

@WebMethod
public <T extends Foo> void testGeneric(T data){

但是,当我尝试通过Java客户端使用它时,出现错误消息:

[错误]消息部分“参数”中的模式描述符{ http:// #### / } testGeneric未定义,并且无法绑定到Java。

我知道可以制作一个采用参数(例如List)的方法,并且可以使用JAX-WS正确生成该方法。

我不介意是否有解决方案意味着我只能使用特定技术。

谢谢,丹。

我对此表示怀疑。 但是您可以定义一个通用的超级接口,并让您的实际服务接口使用参数对其进行扩展:

public interface BaseService<T>{
    T doWhackStuff();
}

public interface WhackyService extends BaseService<Whack>{
}

public interface EvenMoreWhackyService extends BaseService<Whackier>{
}

这种方法通常仅在您由多个组件构建接口时才有意义:

public interface BaseService<T>{
    T doWhackStuff();
}

public interface ExtendedService<T>{
    T doMoreWhackStuff();
}

public interface DoubleWhackyService extends BaseService<Whack>, ExtendedService<Whack>{
}

我尚未在JAX-WS中测试这种方法,但我知道它可以在Spring / GraniteDS / Flex中使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM