JAXB生成带前缀且没有xmlns的XML

时间:2013-07-01 09:48:17

标签: namespaces jaxb xml-namespaces spring-ws prefix

我正在使用SpringWS和JAXB注释类来生成XML作为Web服务客户端的有效负载。我创建了package-info.java来生成前缀:

@javax.xml.bind.annotation.XmlSchema(xmlns =
 { 
    @javax.xml.bind.annotation.XmlNs(prefix = "pay", 
     namespaceURI =     "http://www.paymentexpress.com"),
    @javax.xml.bind.annotation.XmlNs(prefix = "xsd", 
     namespaceURI = "http://www.w3.org/2001/XMLSchema") 
 }, 
 namespace = "http://www.paymentexpress.com", 
 elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, 
 attributeFormDefault = javax.xml.bind.annotation.XmlNsForm.UNQUALIFIED)

package com.mycompany;

这会产生:

<pay:GetTransactionId 
        xmlns:pay="http://www.paymentexpress.com" 
        xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <pay:tranDetail>
      ...

Web服务客户端测试失败。问题是用soapUI发送这个XML我得到了与测试中相同的错误,当我删除xmlns:pay声明时,它在soapUI中工作。

有没有办法生成前缀,而不是在生成的XML中使用JAXB包含xmlns声明?

0 个答案:

没有答案