Java @XmlAttribute(名称)SoapUI中的名称无效

Java @XmlAttribute(名称)SoapUI中的名称无效,java,soap,jaxb,soapui,Java,Soap,Jaxb,Soapui,我正在制作soapweb服务,当我使用 @XmlAttribute(name = "asd:resource") private String asdResource; 我无法在SoapUI中导入wsdl。它表明: 错误:“asd:resource”值是无效的名称 当我只使用@xmldattribute时,我可以导入我的项目,但在响应中,我接收到的内容与没有以下内容的asdResource一样:。 这就是为什么我使用了xmldattribute(name=“asd:reso

我正在制作soapweb服务,当我使用

@XmlAttribute(name = "asd:resource")
private String asdResource;
我无法在SoapUI中导入wsdl。它表明: 错误:“asd:resource”值是无效的名称

当我只使用
@xmldattribute
时,我可以导入我的项目,但在响应中,我接收到的内容与没有以下内容的asdResource一样:。 这就是为什么我使用了
xmldattribute(name=“asd:resource”)


我的问题是什么会导致此问题,以及如何解决此问题。

显然,您希望在特定命名空间中创建一个名为
resource
的属性。这应该是:

@XmlAttribute(name = "resource", namespace="http://...")
namespace
应该是与前缀
asd
关联的名称空间

编组时,JAXB通常会“发明”自己的名称空间前缀(如
ns0
等)。如果要控制命名空间前缀,请参见以下问题:


显然,您希望在特定命名空间中创建名为
resource
的属性。这应该是:

@XmlAttribute(name = "resource", namespace="http://...")
namespace
应该是与前缀
asd
关联的名称空间

编组时,JAXB通常会“发明”自己的名称空间前缀(如
ns0
等)。如果要控制命名空间前缀,请参见以下问题:


你可以试试这门课

@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;

你可以试试这门课

@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;

我用包信息修复了这个问题:@XmlNs(prefix=“asd”,namespaceURI=“uri”),我用包信息修复了这个问题:@XmlNs(prefix=“asd”,namespaceURI=“uri),