【问题标题】:Mapping xml-attribute using resteasy使用 resteasy 映射 xml 属性
【发布时间】:2010-09-20 07:14:23
【问题描述】:

我正在使用 resteasy,但遇到了一些问题。

远程服务器上有一些服务。例如,当我去 url

http://some.site.com/Login/my_login/my_passowrd”服务返回我的 xml:

< LoginToken>
  < success>true< /success>
  < token>23324473-897b-408b-b096-bf2cddad33< /token>
< /LoginToken>

我已经编写了映射类:

@XmlRootElement(name = "LoginToken")
public class LoginToken {

  @XmlElement(name="success")
  private String success;

  @XmlElement(name="token")
  private String token;

  public String getSuccess() {
      return success;
    }

  public String getToken() {
      return token;
    }
}

..还有另一个测试代码:

final String loginUrl "http://some.site.com/Login/{login}/{password}";
ResteasyProviderFactory instance = ResteasyProviderFactory.getInstance();
RegisterBuiltin.register(instance);

ClientRequestFactory client = new ClientRequestFactory();

LoginToken ct = client.get(loginUrl, LoginToken.class, "user", "123456");

System.out.println(ct.getSuccess() + " " + ct.getToken());

运行此示例后,我收到结果:

真 23324473-897b-408b-b096-bf2cddad33

但是服务器可以返回另一个xml:

< LoginToken xmlns="some.site.com/login/api/domain" mlns:i="http://www.w3.org/2001/XMLSchema-instance">
  < success>true< /success>
  < token>23324473-897b-408b-b096-bf2cddad33< /token>
< /LoginToken>

我有解组错误:

Exception in thread "main" org.jboss.resteasy.plugins.providers.jaxb.JAXBUnmarshalException: javax.xml.bind.UnmarshalException: unexpected element (uri:"some.site.com/login/api/domain", local:"LoginToken"). Expected elements are <{}LoginToken>
        at org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.readFrom(AbstractJAXBProvider.java:86)
        at org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:105)
        at org.jboss.resteasy.plugins.interceptors.encoding.GZIPDecodingInterceptor.read(GZIPDecodingInterceptor.java:46)
        at org.jboss.resteasy.core.interception.MessageBodyReaderContextImpl.proceed(MessageBodyReaderContextImpl.java:108)
...

问题:如何使用 resteasy 映射 xml-namespace?请帮忙。谢谢。

【问题讨论】:

    标签: rest tomcat6 resteasy


    【解决方案1】:

    我解决了这个问题。 每个元素都需要使用命名空间,并且所有标签都区分大小写!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 2018-09-15
      • 2017-11-02
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2017-09-25
      相关资源
      最近更新 更多