gpt4 book ai didi

java - jax-ws 服务返回数组列表

转载 作者:行者123 更新时间:2023-12-02 05:47:55 24 4
gpt4 key购买 nike

@Entity
public class School {

@Id
private int Id;
private String schoolName;

@OneToMany(cascade = CascadeType.ALL, mappedBy = "schoolId")
private List<Student> students;

//.... get and set methods
}


@Entity
public class Student {

@Id
private int Id;
private String name;
private String surname;

@JoinColumn()
@ManyToOne
private School schoolId;

//.... get and set methods
}

我的ma​​ven web 项目中有这个实体。我正在使用jpa框架。

@WebService
public class MyService {
@WebMethod
public List<School> getSchoolInfo()
{
List<School> schools=getSchoolListFromDb();
//schools liste has records, and each school has own student list
return schools;
}
}

我编写了这个 getSchoolInfos 方法来与 jax-ws 服务共享。当我使用返回类型为 School[] 时,我得到了结果。但我想使用 List<> 类型。

我想使用 axis 服务,但无法在 Maven Web 项目中运行 axis。

我该怎么办?我应该使用哪种网络服务技术?

最佳答案

我在 Weblogic 专有 Web 服务技术和 CXF 中发现了类似的问题。我的建议是放弃并编写一个返回 School[] 的接口(interface)。只需执行此操作即可继续运行所有当前代码:

服务器端

public School[] whatever() {
List<School> list = ...
...
return list.toArray(new School[list.size()]);
}

客户端

public void myClient() {
WhateverProxy myProxy = ...
...
List<School> list = Arrays.asList(myProxy.whatever());
...
}

这样,您的 Web 服务技术就会很满意,并创建一个非常简单的 WSDL,并且您可以继续使用更有用的 List 接口(interface)。将其视为高速公路收费站或类似的东西

关于java - jax-ws 服务返回数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23866459/

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