SOAP UI中的@XmlAttribute(name)invlaid名称

时间:2018-04-04 11:13:29

标签: java soap jaxb soapui

我正在制作肥皂服务,当我使用

docker-gen

我无法用肥皂ui导入我的wsdl。表明: 错误:值'asd:resource'是无效名称。

当我只使用@XmlAttribute时,我可以导入我的项目,但在响应中我收到它像asdResource没有:。 这就是我使用XmlAttribute(name =“asd:resource”)

的原因

我的问题是什么可能导致这个问题,我该如何解决它。

2 个答案:

答案 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;