如何使用Spring和Jaxb2读取肥皂响应的多个结果?

发布于 2025-02-11 12:45:40 字数 1446 浏览 3 评论 0原文

我正在尝试从春季使用SOAP的外部网络服务获得数据,遵循本指南: https://spring.io/guides/gs/consuming-web-service/#initial 当我期望只有一个响应时,它可以很好地运行,但是当我得到以下响应(对于几个用户)时,我就无法阅读每个用户。

<soap:Envelope xmlns:soap="..." xmlns:xsi="..." xmlns:xsd="...">
   <soap:Body>
      <UserResponse xmlns="...">
         <Users>
            <User>
               <NAME>...</NAME>
               <SURNAME>...</SURNAME>
            </User>   
            <User>
               <NAME>...</NAME>
               <SURNAME>...</SURNAME>
            </User>  
         <Users>
      </UserResponse>
   </soap:Body>
</soap:Envelope>

这是生成的类:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {"userResult"})
@XmlRootElement(name = "UserResponse")
public class Users {

    @XmlElement(name = "Users")
    protected User user;

//GETTER/SETTER
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "User", propOrder = {"name", "surname"})
public class User{

    @XmlElement(name = "NAME")
    protected String name;
    @XmlElement(name = "SURNAME")
    protected String surname;

//GETTER/SETTER

如何阅读每个用户?我试图更改生成的类,在用户类中列出用户列表,但它不起作用。

谢谢

I'm trying to get datas from an external webservice with SOAP on Spring, following this guide : https://spring.io/guides/gs/consuming-web-service/#initial
When I expect only one response, it works very well, but when I get many responses as below (for exemple several users), I can't read each user.

<soap:Envelope xmlns:soap="..." xmlns:xsi="..." xmlns:xsd="...">
   <soap:Body>
      <UserResponse xmlns="...">
         <Users>
            <User>
               <NAME>...</NAME>
               <SURNAME>...</SURNAME>
            </User>   
            <User>
               <NAME>...</NAME>
               <SURNAME>...</SURNAME>
            </User>  
         <Users>
      </UserResponse>
   </soap:Body>
</soap:Envelope>

Here are the generated class :

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {"userResult"})
@XmlRootElement(name = "UserResponse")
public class Users {

    @XmlElement(name = "Users")
    protected User user;

//GETTER/SETTER
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "User", propOrder = {"name", "surname"})
public class User{

    @XmlElement(name = "NAME")
    protected String name;
    @XmlElement(name = "SURNAME")
    protected String surname;

//GETTER/SETTER

How can I read each User ? I tryed to change the generated class making a List of User in Users class but it doesn't work.

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文