JAXB2.1を使用してスキーマxsdからJavaクラスを生成し、XJCを実行しようとしましたが、動作します。スキーマをwsdlファイルに含め、CXFを使用してwsdl2javaコマンドでJavaクラスを生成します。
問題は、違いがあるJavaクラスに関するものです。違いは、content属性と、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
ありがとう