首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在CXF中使用wsdl2java生成web服务服务器实现

在CXF中使用wsdl2java生成web服务服务器实现
EN

Stack Overflow用户
提问于 2013-03-11 10:57:33
回答 1查看 1.8K关注 0票数 1

背景:

我以前在使用Apache服务方面有过经验,但对于使用Apache发行版附带的wsdl2java工具生成服务端点接口(SEI)和服务实现,我还是有点陌生。

任务:

我目前正在致力于实现一个基于SOAP的web服务,该服务将由外部系统使用。我已经定义了消息(XSD)和WSDL文件。我尝试使用Apache中的wsdl2java工具生成SEI。SEI被正确地生成,JAXB类型作为输入参数,并将类型返回到web服务方法。

当我查看为服务实现类生成的代码时,我看到它扩展了javax.xml.ws.Service类。此外,生成了许多重载的方法,这些方法的名称与服务端点接口中的方法相同,方法名称附加了"Soap12Http“。这些方法中有几种采用了WebServiceFeature型参数。特性,而其他特性不接受任何参数。例子:

代码语言:javascript
复制
public class Query extends Service {

        @WebEndpoint(name = "product_query-soap12-http")
    public IQuery getProductsSoap12Http(WebServiceFeature... features) {
        return super.getPort(getProductsSoap12Http, IQuery.class,features);
    }
}

*其中IQuery是服务端点接口

问题:

  1. 我期望服务实现类实现服务端点接口,而不是扩展javax.xml.ws.Service。这是一个有效的预期吗?
  2. 我期望服务实现类实现来自服务端点接口的方法。这是一个有效的预期吗?
  3. 我还想知道是否可以要求wsdl2java命令为JAXB生成一个jar,而不是将它们作为类文件生成。
EN

回答 1

Stack Overflow用户

发布于 2013-03-11 13:06:57

对于1和2,答案是否定的。生成的XXXXService类在很大程度上是WSDL中各种SEI代理的工厂。wsdl中的每个端点/绑定/portType组合都应该产生一系列“getXYZPort(.)”调用Service对象返回该特定SEI的实例。

对于3,上周在cxf的工具中添加了一个-clientjar选项(尚未发布,需要最新的快照),这可能接近所需的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15336831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档