我正在创建一个通过xml与服务器通信的wesite。在我的localhost中一切都很好。虽然将我的网站上传到服务器而不是这个xml格式:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<quser xmlns="http://www..." xmlns:atom="http://www.w3.org/2005/atom">
<username>name</username>
</quser>
我接受这个:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
< :quser xmlns: ="http://www2...." xmlns:atom="http://www.w3.org/2005/atom">
< :username>readered</ :username>
<:quser>
我在我的模型中声明了以下package-info.class
@javax.xml.bind.annotation.XmlSchema (
namespace="http://www..",
elementFormDefault=XmlNsForm.QUALIFIED,
xmlns = {
@javax.xml.bind.annotation.XmlNs( prefix=" ", namespaceURI="http://www.."),
@javax.xml.bind.annotation.XmlNs( prefix="atom" ,namespaceURI="http://www.w3.org/2005/atom")
}
)
package model;
import javax.xml.bind.annotation.*;
正如我在localhost中告诉你的那样工作得非常好但是在服务器中,即使我更改前缀(仅用于测试我设置它前缀=“xs”)也不采用这些更改。只有在我的localhost中才能采用它。如果您认为我在loclhost中所做的更改,当我在服务器上调试并上传代码时,它应该包含它们。
此外,我意识到我忘记了一些JAXB库到WEB-INF。只是为了测试我插入我的libs并进入主程序库。然后我在我的localhost中使用与服务器中相同的xml格式。所以我决定从这两个地方删除这些库。在我的localhost之后一切都工作,但在服务器没有。如果有人面对或知道某些事情,请给我一些指示。
答案 0 :(得分:1)
尝试删除前缀声明中的空格:
这个
@javax.xml.bind.annotation.XmlNs( prefix="", namespaceURI="http://www..ckp"),
而不是
@javax.xml.bind.annotation.XmlNs( prefix=" ", namespaceURI="http://www..ckp"),