首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rest响应中的uri为空

rest响应中的uri为空
EN

Stack Overflow用户
提问于 2013-07-31 12:45:24
回答 1查看 303关注 0票数 2

我正在开发一个插件为nexus .My应用程序创建一个rest调用响应(来自服务器的请求)。但是当服务器收到它时,它会抛出错误,如下所示

代码语言:javascript
复制
 javax.xml.bind.UnmarshalException:
 unexpected element (uri:"", local:"com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse"). 
Expected elements are 
\lt{http://www.collab.net/teamforge/integratedapp}CreateProjectConfigurationRequest\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersRequest\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetConfigurationParametersResponse\gt,
\lt{http://www.collab.net/teamforge/integratedapp}GetPageComponentParametersRequest> 

我猜这个异常背后的原因是响应与预期不匹配,因为uri (这只是我的猜测,如果错误,请纠正我),即响应中的命名空间没有设置。

我的插件中的代码片段如下

代码语言:javascript
复制
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "configurationParameter"
})
@XmlRootElement(name = "GetConfigurationParametersResponse", namespace = "http://www.collab.net/teamforge/integratedapp")
public class GetConfigurationParametersResponse
    extends BaseResponse
{

为什么在创建响应时没有选择名称空间?

如果异常的真正原因不是空uri,甚至可以纠正我。如果是这样的话,这个异常背后的真正原因是什么?请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2013-08-01 22:37:27

根据错误消息,传递给JAXB的XML文档是。这个XML看起来好像是由JAXB以外的其他东西创建的(我怀疑是XStream)。

代码语言:javascript
复制
<com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse>
    ...
</com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse>

您的JAXB映射需要如下所示的XML文档:

代码语言:javascript
复制
<GetConfigurationParametersResponse xmlns="http://www.collab.net/teamforge/integratedapp">
    ...
</GetConfigurationParametersResponse>

如果您需要与以下XML进行交互:

代码语言:javascript
复制
<com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse>
    ...
</com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse>

然后,您可以将映射更改为:

代码语言:javascript
复制
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
    "configurationParameter"
})
@XmlRootElement(name = "com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse")
public class GetConfigurationParametersResponse
    extends BaseResponse
{
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17961790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档