【发布时间】:2012-01-19 07:27:27
【问题描述】:
我刚刚开始学习 CXF。我通过eclipse做了一个maven原型项目。当我运行 Maven 构建并部署在 JBoss 中时,它工作正常。
@WebService
public interface HelloWorld {
String sayHi(String text);
}
@WebService(endpointInterface = "foo.HelloWorld" )
public class HelloWorldImpl implements HelloWorld {
public String sayHi(String text) {
return new "Hello"+text;
}
}
然后我创建了一个 Employee 类,将 name 和薪水作为它的字段,并带有 getter 和 setter。我只是将HelloWorld sayHi的方法的返回类型更改为Employee,然后我从HelloWorldimpl sayHi方法返回了一个Employee对象。
然后它工作正常(我的意思是我使用 SOAP UI 检查了它,在修改代码后我得到了一个 Employee xml)
这个转换代码写在哪里。
另外我没有在代码中找到cxf.xml和cxf-servlet.xml:(这些xml在代码中保存在哪里)
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
请帮助我理解这一点。
@ŁukaszBachman 我在 CXF*.jar 文件中获得了 XML 文件。
我应该怎么做才能在这个项目中进行扩展。我需要在 xml 文件中添加 bean 吗?
【问题讨论】:
-
您不应该修改 CXF 库的任何部分,除非您是开发人员团队、贡献者或者您绝对知道自己在做什么;)但是,由于 Spring,您可以扩展一些 bean,它是国际奥委会。例如:如果您有由 CXF 创建并在 XImpl1 中实现的接口 X,那么您始终可以定义自己的实现 XImpl2 并将其与 CXF 连接,如果该库的创建者打算对其进行扩展。通常,不要扩展 API 中不应扩展的部分。设计良好的 API 应该为您提供足够的灵活性,让您可以随心所欲地使用它。
标签: java web-services cxf