Какая разница между JAXB и CXF? - PullRequest
2 голосов
/ 04 августа 2010

Я попытался сгенерировать Java-классы из схемы XSD с JAXB2.1 и запустить XJC, и это работает.Я включил схему в файл wsdl, и я генерирую java-классы с помощью команды wsdl2java с использованием CXF.

Проблема в том, что существует java-класс, в котором есть разница: Разница заключается в атрибуте содержимого, его получателе и установщике,отсутствует в команде wsdl2java.

//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.1-b02-fcs 
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// Any modifications to this file will be lost upon recompilation of the source schema. 
//


import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlValue;



@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "BIN", **propOrder = {
    "content"**
})
@XmlSeeAlso({
    ED.class
})
public abstract class BIN {

    **@XmlValue
    protected String content;**
    @XmlAttribute
    protected BinaryDataEncoding representation;

    /**


    public String getContent() {
        return content;
    }

    /**
     * 
     *             Binary data is a raw block of bits. Binary data is a
     *             protected type that MUST not be used outside the data
     *             type specification.
     *          
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    **public void setContent(String value) {
        this.content = value;
    }**

    /**
     * Gets the value of the representation property.
     * 
     * @return
     *     possible object is
     *     {@link BinaryDataEncoding }
     *     
     */
    public BinaryDataEncoding getRepresentation() {
        if (representation == null) {
            return BinaryDataEncoding.TXT;
        } else {
            return representation;
        }
    }

    /**
     * Sets the value of the representation property.
     * 
     * @param value
     *     allowed object is
     *     {@link BinaryDataEncoding }
     *     
     */
    public void setRepresentation(BinaryDataEncoding value) {
        this.representation = value;
    }

}

Мне нужен этот атрибут в этом классе.

Есть ли способ сделать это, как добавить параметр?

Это мой wsdl2javaкоманда:

call wsdl2java -Debug -verbose -exsh true  -autoNameResolution -p %PACKAGE_BASE%.pa -p "urn:hl7-org:v3"=%PACKAGE_BASE%.patient.hl -d %PROJECT_HOME%\src\main\java\  %WSDL_HOME%\Test.wsdl

спасибо

...