gpt4 book ai didi

java - 在客户端,我应该如何使用 CXF 网络服务返回的复杂类型对象?

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:33 29 4
gpt4 key购买 nike

我刚刚开始使用 CXF 2.4 来公开现有 Web 应用程序中的一些方法。其中一个方法返回一个复杂类型对象 - Employee,它有一个 Address 对象作为属性。

员工对象看起来像:

public class Employee implements Serializable {
private String gid;
private String name;
private Address employeeAddress;
//...getters and setters omitted
}

服务端接口(interface)中的方法签名如下所示:

Employee getEmployee(@WebParam(name="gid") String gid);

在客户端,我使用 CXF WsdlToJava 实用程序从服务器 wsdl 地址生成我的客户端 stub ,并在我的客户端 Web 应用程序中愉快地使用 Employee 对象。

今天一位同事向我指出,我不应该在我的客户端应用程序代码中使用网络服务生成的对象。相反,我应该创建一个特定于我的客户端 Web 应用程序的 Employee 类,并将属性从 Web 服务 Employee 对象复制到我的应用程序 Employee 对象,以防止 Web 服务代码在整个代码库中结束。

对我来说,这似乎有点矫枉过正,实际上我将创建一个 Employee 类和一个 Address 类,并在这些类型的对象和 Web 服务的对象之间来回复制属性。

在我的应用程序中,我在 JSP 页面上显示了 Employee 对象的详细信息,但没有用它做太多其他事情。

所以总结一下我的问题 - 当在 CXF 中使用返回复杂类型对象的 web 服务调用时,您是否应该始终使用单独的客户端应用程序特定对象来复制 web 服务生成对象的属性?是否有使用规则或它是否取决于返回对象的复杂程度以及客户端应用程序打算如何处理它们(例如,只显示它们,编辑它们并返回它们,将它们存储在客户端应用程序数据库中。)

谢谢达伦

最佳答案

我没有发现在客户端使用 web 服务生成的对象有任何问题。创建自己的类并来回移动属性只是一个消磨时间的过程。

当工具为您提供实现功能时,为什么我们需要手动进行更改。如果有一个有效的点,则需要弄清楚。

所以我的回答是您可以使用 web 服务生成的 Employee 类来实现。

关于java - 在客户端,我应该如何使用 CXF 网络服务返回的复杂类型对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6836084/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com