Как изменить свойства xml из свойств по умолчанию? - PullRequest
0 голосов
/ 16 марта 2019

enter image description here

На приведенном выше снимке экрана показан ожидаемый и фактический выходные данные, красный цвет показывает, что он отличается от фактического выходного сигнала, отображаемого зеленым цветом.

Для создания XML-документа я использовал концепцию marshall. Ниже приведен код Java, используемый для создания XML-документа.

 import com.ehf.bean.Invoice;
 import com.sap._0050089212_one_off.ypt74nkey_.StandardFaultMessage;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerException;
 import org.xml.sax.SAXException;

 public class Ehf {

 public static void main(String[] args) throws ParserConfigurationException, 
 TransformerException, SAXException, IOException, StandardFaultMessage, 
 com.sap.xi.a1s.global.StandardFaultMessage, JAXBException {

    JAXBContext contextObj = JAXBContext.newInstance(Invoice.class);

    Marshaller marshallerObj = contextObj.createMarshaller();
    marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

    Invoice invoice = new Invoice();
    invoice.setCustomizationID("dsf");
    invoice.setInvoiceTypeCode(0);
    marshallerObj.marshal(invoice, new FileOutputStream("question.xml"));

}

}

Примечание. Класс счета создается с помощью xsd и команды xjc.

Как можно решить эту проблему?

1 Ответ

0 голосов
/ 16 марта 2019
@javax.xml.bind.annotation.XmlSchema(
namespace = "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2", 
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
xmlns ={@XmlNs(prefix="cac", namespaceURI="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"), 
        @XmlNs(prefix="cbc", namespaceURI="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"),
        @XmlNs(prefix="", namespaceURI="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2")
       })

Приведенный выше код работает для меня, как и ожидалось, этот код должен быть записан в package-info.java

...