我正在制作肥皂服务,当我使用
时docker-gen
我无法用肥皂ui导入我的wsdl。表明: 错误:值'asd:resource'是无效名称。
当我只使用@XmlAttribute时,我可以导入我的项目,但在响应中我收到它像asdResource没有:。 这就是我使用XmlAttribute(name =“asd:resource”)
的原因我的问题是什么可能导致这个问题,我该如何解决它。
答案 0 :(得分:2)
表示您希望在特定命名空间中创建名称为resource
的属性。这应该是:
@XmlAttribute(name = "resource", namespace="http://...")
namespace
应该是与前缀asd
关联的命名空间。
当编组时,JAXB通常会发明"发明"它自己的名称空间前缀(如ns0
等)。如果要控制名称空间前缀,请参阅以下问题:
Is it possible to customize the namespace prefix that JAXB uses when marshalling to a String?
答案 1 :(得分:1)
您可以尝试使用此课程。
@javax.xml.bind.annotation.XmlSchema(namespace = "yournamespace", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
xmlns = {
@XmlNs(prefix="asd", namespaceURI="yournamespace"),
})
package example;
import javax.xml.bind.annotation.XmlNs;
而
@XmlAttribute(namespace = "yournamespace")
private String resource;