2

我正在使用 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 中有效。

有什么方法可以生成前缀并且不使用 JAXB 在生成的 XML 中包含 xmlns 声明?

4

0 回答 0