Unable to create JAX-WS service from WSDL - java

I have a WSDL document:
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://java.CAEServer"
xmlns:server="http://caeserver.caebeans.org"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="http://java.CAEServer"
name="CAEInstanceImplService">
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://caeserver.caebeans.org"
xmlns:test="http://example.org"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:serv="http://caeserver.caebeans.org"
attributeFormDefault="unqualified" elementFormDefault="qualified">
<xsd:element name="data" type="xsd:string"/>
<xsd:element name="parameter">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="text">
<xsd:complexType>
<xsd:attribute name="data" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="units">
<xsd:complexType>
<xsd:attribute name="data" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="comment">
<xsd:complexType>
<xsd:attribute name="data" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="enums" type="xsd:string"/>
<xsd:element name="default" type="xsd:int"/>
<xsd:element name="value" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="visible" type="xsd:boolean"/>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="languageData">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="name" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:element name="language">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="data" type="serv:languageData"/>
</xsd:sequence>
<!--<xsd:attribute name="xml:lang" type="xsd:string"/>-->
</xsd:complexType>
</xsd:element>
<xsd:element name="instance_ID" type="xsd:string"/>
<xsd:element name="problemCaebean">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="categories">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="category">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" ref="serv:parameter"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="data" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="resources">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" ref="serv:language"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="author" type="xsd:string"/>
<xsd:attribute name="version" type="xsd:decimal"/>
<xsd:attribute name="caebeanId" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="caeProject">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="serv:problemCaebean"/>
<xsd:element name="logical">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="node">
<xsd:complexType>
<xsd:attribute name="id" type="xsd:string"/>
<xsd:attribute name="type" type="xsd:string"/>
<xsd:attribute name="condition" type="xsd:string"/>
<xsd:attribute name="execute" type="xsd:string"/>
<xsd:attribute name="x" type="xsd:int"/>
<xsd:attribute name="y" type="xsd:int"/>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="unbounded" name="edge">
<xsd:complexType>
<xsd:attribute name="source" type="xsd:string"/>
<xsd:attribute name="target" type="xsd:string"/>
<xsd:attribute name="when" type="xsd:boolean"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="physical">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="componentCaebean">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="input">
<xsd:complexType>
<xsd:attribute name="filename" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element maxOccurs="unbounded" name="output">
<xsd:complexType>
<xsd:attribute name="filename" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="jar-premode">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="exec">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="param">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="appname" type="xsd:string"/>
<xsd:attribute name="appversion" type="xsd:decimal"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="author" type="xsd:string"/>
<xsd:attribute name="version" type="xsd:decimal"/>
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Status">
<xsd:complexType>
<xsd:choice>
<xsd:element name="NOT_STARTED"/>
<xsd:element name="RUNNING"/>
<xsd:element name="HELD"/>
<xsd:element name="SUCCESSFULL"/>
<xsd:element name="FAILED"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>
<xsd:element name="CurrentTime">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:dateTime">
<xsd:anyAttribute namespace="##other" processContents="lax"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="TerminationTime" nillable="true">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:dateTime">
<xsd:anyAttribute namespace="##other" processContents="lax"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Description">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="serv:Status"/>
<xsd:element ref="serv:TerminationTime"/>
<xsd:element ref="serv:CurrentTime"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!--
message used to create a new instance WS-Resource
-->
<xsd:element name="createInstance">
<xsd:complexType/>
</xsd:element>
<!--
the response, simply contains an EPR to the new instance
-->
<xsd:element name="createInstanceResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="instanceID" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="submitJob">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="serv:instance_ID"/>
<xsd:element ref="serv:problemCaebean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="submitJobResponse">
<xsd:complexType>
<xsd:sequence>
<!--<xsd:element name="xml" type="xsd:string"/>-->
<xsd:element name="Result" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getStatus">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="instance_ID" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="getStatusResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="serv:Status"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</types>
<message name="SubmitJobRequest">
<part name="parameter" element="server:submitJob"/>
</message>
<message name="SubmitJobResponse">
<part name="parameter" element="server:submitJobResponse"/>
</message>
<message name="GetStatusRequest">
<part name="parameter" element="server:getStatus"/>
</message>
<message name="GetStatusResponse">
<part name="parameter" element="server:getStatusResponse"/>
</message>
<portType name="CAEInstance">
<operation name="SubmitJob">
<input message="tns:SubmitJobRequest"/>
<output message="tns:SubmitJobResponse"/>
</operation>
<operation name="GetStatus">
<input message="tns:GetStatusRequest"/>
<output message="tns:GetStatusResponse"/>
</operation>
</portType>
<binding name="CAEInstanceImplPortBinding" type="tns:CAEInstance">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="SubmitJob">
<soap:operation soapAction="http://java.CAEServer/submitJob"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="GetStatus">
<soap:operation soapAction="http://java.CAEServer/getStatus"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="CAEInstanceImplService">
<port name="CAEInstanceImplPort" binding="tns:CAEInstanceImplPortBinding">
<soap:address location="http://127.0.0.1:9000/caeinstance"/>
</port>
</service>
</definitions>
And I'm creating types and services definitions with command
wsimport -keep -verbose ../src/main/resources/instance.wsdl
But when I compiled and runned my project and tryed to compile client stubs from generated WSDL, I've got an error
parsing WSDL...
[ERROR] undefined element declaration 'ns1:instance_ID'
line 36 of http://localhost:9000/caeinstance?xsd=1
[ERROR] undefined element declaration 'ns1:Result'
line 49 of http://localhost:9000/caeinstance?xsd=1
What's wrong with my WSDL?

CXF and Eclipse both supply WSDL validators. You should run your WSDL through one of those and see what it says.

Did you create that WSDL?
I think you are trying to use some data types which are not exported in your WSDL.
The wsdl refers to a schema named 's' but this can't be found, because its URL is
XMLSchema but should be
XMLSchema.xsd
U can use
wsimport -b http://www.w3.org/2001/XMLSchema.xsd usrtowsdl?WSDL

Related

JAXB marshall & unmarshalling of child element without #XMLRootElement

I am trying to marshall a child element object to get xml string. And then using this xml string I would like to Unmarshall as well.
To clarify, I have generated my jaxb classes from xsd and I don't have any method in ObjectFactory that will provide the desired object.
The xsd defination: IBUSStatusType is a child of root element IBUSMessage
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://soa.myhealth.com/ibus/v1.1.0" targetNamespace="http://soa.myhealth.com/ibus/v1.1.0" elementFormDefault="qualified">
<xsd:element name="IBUSMessage" type="tns:IBUSMessage"/>
<xsd:complexType name="IBUSMessage">
<xsd:sequence>
<xsd:element name="Header" type="tns:IBUSHeaderType"/>
<xsd:element name="Detail" type="tns:IBUSVariantType"/>
<xsd:element name="Status" type="tns:IBUSStatusType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="IBUSHeaderType">
<xsd:sequence>
<xsd:element name="Retry" type="tns:RetryType" minOccurs="0"/>
<xsd:element name="ReplyToStack" type="tns:ReplyToStackType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="TransactionContext" type="tns:TransactionContextType"/>
<xsd:element name="systemType" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="TestEnvironment" type="tns:TestEnvironmentType" minOccurs="0"/>
<xsd:element name="TransactionSetHeader" type="tns:TransactionHeaderType" minOccurs="0"/>
<xsd:element name="BeginningSegment" type="tns:TransactionSegmentType" minOccurs="0"/>
<xsd:element name="LegacySources" type="tns:SourceType" minOccurs="0"/>
<xsd:element name="Variables" type="tns:IBUSVariantType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="RoutingTable" type="tns:RoutingTableType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="OptionalHeaders" type="tns:IBUSVariantType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TestEnvironmentType">
<xsd:sequence>
<xsd:element name="useStubbedService" type="xsd:string" default="false"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TransactionContextType">
<xsd:sequence>
<xsd:element name="source" type="xsd:string" minOccurs="0"/>
<xsd:element name="actionName" type="xsd:string"/>
<xsd:element name="serviceName" type="xsd:string"/>
<xsd:element name="ActionClass" type="tns:ActionClassType" minOccurs="0"/>
<xsd:element name="MessageType" type="tns:MessageResponseType" minOccurs="0"/>
<xsd:element name="processDate" type="xsd:date" minOccurs="0"/>
<xsd:element name="processTime" type="xsd:time" minOccurs="0"/>
<xsd:element name="userId" type="xsd:string" minOccurs="0"/>
<xsd:element name="unitOfWorkId" type="xsd:string" minOccurs="0"/>
<xsd:element name="operationId" type="xsd:string" minOccurs="0"/>
<xsd:element name="parentOperationId" type="xsd:string" minOccurs="0"/>
<xsd:element name="uowGroupIndicator" type="xsd:string" minOccurs="0"/>
<xsd:element name="uowGroupSize" type="xsd:string" minOccurs="0"/>
<xsd:element name="transactionId" type="xsd:string" minOccurs="0"/>
<xsd:element name="responseProtocol" type="xsd:string" minOccurs="0"/>
<xsd:element name="aggregation" type="xsd:string" minOccurs="0"/>
<xsd:element name="actionType" type="xsd:string" minOccurs="0"/>
<xsd:element name="origSource" type="xsd:string" minOccurs="0"/>
<xsd:element name="origSourceClass" type="xsd:string" minOccurs="0"/>
<xsd:element name="requestIdentifier" type="xsd:string" minOccurs="0"/>
<xsd:element name="generatedInterchangeControlNumber" type="xsd:string" minOccurs="0"/>
<xsd:element name="generatedGroupControlNumber" type="xsd:string" minOccurs="0"/>
<xsd:element name="generatedTransactionControlNumber" type="xsd:string" minOccurs="0"/>
<xsd:element name="messageTimeout" type="xsd:string" minOccurs="0"/>
<xsd:element name="ServiceVersion" type="tns:VersionType" minOccurs="0"/>
<xsd:element name="IBUSVersion" type="tns:VersionType" fixed="1.1.0"/>
</xsd:sequence>
</xsd:complexType>
<!-- X12 Transactions ONLY -->
<xsd:complexType name="TransactionHeaderType">
<xsd:sequence>
<xsd:element name="transactionSetIdentifierCode" type="xsd:string" minOccurs="0"/>
<xsd:element name="transactionSetControlNumber" type="xsd:string" minOccurs="0"/>
<xsd:element name="conventionReferenceNumber" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<!-- X12 Transactions ONLY -->
<xsd:complexType name="TransactionSegmentType">
<xsd:sequence>
<xsd:element name="structureCode" type="xsd:string" minOccurs="0"/>
<xsd:element name="transactionIdentifier" type="xsd:string" minOccurs="0"/>
<xsd:element name="transactionSetCreationDate" type="xsd:date" minOccurs="0"/>
<xsd:element name="transactionSetCreationTime" type="xsd:time" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SourceType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="action" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="IBUSVariantType">
<xsd:sequence>
<xsd:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReplyToStackType">
<xsd:sequence>
<xsd:element name="ReplyTo" type="tns:ReplyToStackEntry" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReplyToStackEntry">
<xsd:sequence>
<xsd:element name="replyToQ" type="xsd:string"/>
<xsd:element name="replyToQMgr" type="xsd:string"/>
<xsd:element name="requestIdentifier" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="IBUSStatusType">
<xsd:sequence>
<xsd:element name="code" type="xsd:string"/>
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="Messages" type="tns:MessagesType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="MessagesType">
<xsd:sequence>
<xsd:element name="Message" type="tns:StatusMessageType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="StatusMessageType">
<xsd:sequence>
<xsd:element name="Reason" type="tns:StatusPairType"/>
<xsd:element name="type" type="xsd:string"/>
<xsd:element name="FollowUpAction" type="tns:StatusPairType" minOccurs="0"/>
<xsd:element name="Context" type="tns:StatusPairType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="StatusPairType">
<xsd:sequence>
<xsd:element name="description" type="xsd:string"/>
<xsd:element name="code" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ActionClassType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value=""/>
<xsd:enumeration value="GUI"/>
<xsd:enumeration value="BATCH"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="MessageResponseType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ServiceRequest"/>
<xsd:enumeration value="ServiceResponse"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="VersionType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="RoutingTableType">
<xsd:sequence>
<xsd:element name="Route" type="tns:RouteType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RouteType">
<xsd:sequence>
<xsd:element name="key" type="xsd:string"/>
<xsd:element name="routeOverride" type="xsd:string" minOccurs="0"/>
<xsd:element name="routeAppend" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RetryType">
<xsd:sequence>
<xsd:element name="count" type="xsd:long" minOccurs="0"/>
<xsd:element name="delay" type="xsd:long" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
I want to marshall an object of IBUSStatusType. To do that my code for marshalling as follows:
public static StringWriter getStringFromIBUSStatusType(IBUSStatusType iBUSStatusType) throws JAXBException
{
StringWriter stringWriter = new StringWriter();
JAXBContext jaxbContext = JAXBContext
.newInstance(com.myhealth.soa.ibus.v1_1.ObjectFactory.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);
marshaller.setProperty("com.sun.xml.bind.namespacePrefixMapper",
new DefaultNamespacePrefixMapper());
marshaller.setProperty("com.sun.xml.bind.xmlDeclaration", Boolean.FALSE);
QName qName = new QName("com.myhealth.soa.ibus.v1_1", "iBUSStatusType");
JAXBElement<IBUSStatusType> root = new JAXBElement<>(qName, IBUSStatusType.class, iBUSStatusType);
marshaller.marshal(root, stringWriter);
return stringWriter;
}
I get this xml string when I do marshall IBUSStatusType object:
<ns2:iBUSStatusType xmlns:tns="http://soa.myhealth.com/ibus/v1.1.0" xmlns:ns2="com.myhealth.soa.ibus.v1_1"><tns:code>8</tns:code><tns:description>Completed With Warning</tns:description><tns:Messages><tns:Message><tns:Reason><tns:description>Subscriber's email missing</tns:description><tns:code>2187</tns:code></tns:Reason><tns:type>1</tns:type><tns:Context><tns:description>WARN</tns:description><tns:code>Policy=MissingSubscriberEmail</tns:code></tns:Context></tns:Message></tns:Messages></ns2:iBUSStatusType>
Well, now I want to Unmarshall this xml string I got from marshal process. And the code for Unmarshall:
public static com.myhealth.soa.ibus.v1_1.IBUSStatusType getIBUSStatusType(String xml)
throws JAXBException
{
JAXBContext jaxbContext = JAXBContext
.newInstance(com.myhealth.soa.ibus.v1_1.ObjectFactory.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
return ((JAXBElement<IBUSStatusType>) jaxbUnmarshaller
.unmarshal(new StringReader(xml))).getValue();
}
I get this error when I do unmarshall on the generated xml string:
javax.xml.bind.UnmarshalException: unexpected element (uri:"com.myhealth.soa.ibus.v1_1", local:"iBUSStatusType"). Expected elements are <{http://soa.myhealth.com/ibus/v1.1.0}IBUSMessage>
Now provided that my namespaces are:
put("http://soa.myhealth.com/common/v1", "cmn");
put("http://soa.myhealth.com/MemberService/v1", "mems");
put("http://soa.myhealth.com/ibus/v1.1.0", "tns");
put("http://soa.myhealth.com/member/enrollment/v1", "menr");
Just look at your schema
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://soa.myhealth.com/ibus/v1.1.0" targetNamespace="http://soa.myhealth.com/ibus/v1.1.0" elementFormDefault="qualified">
<xsd:element name="IBUSMessage" type="tns:IBUSMessage"/>
<xsd:complexType name="IBUSMessage">
<xsd:sequence>
<xsd:element name="Header" type="tns:IBUSHeaderType"/>
<xsd:element name="Detail" type="tns:IBUSVariantType"/>
<xsd:element name="Status" type="tns:IBUSStatusType"/>
</xsd:sequence>
</xsd:complexType>
There is a namespace http://soa.myhealth.com/ibus/v1.1.0
And when you do unmarsalling it expects http://soa.myhealth.com/ibus/v1.1.0
but previously when you do marshalling you put the following namespace
QName qName = new QName("com.myhealth.soa.ibus.v1_1", "iBUSStatusType");
They are different.
Well, finally we made a solution. I am pasting my solution bellow. I did change the code according to #Iurii but the problem was somewhere else.
So, this is the change in Marshalling part. The 2nd paramater of QName must be the class name NOT the object of it. I tried to follow this link https://codenotfound.com/jaxb-marshal-element-missing-xmlrootelement-annotation.html but did not work. When changed the 2nd parameter of QName to Class name then it worked.
And the context should be made out of that class because ObjectFactory does not have it.
JAXBContext jaxbContext = JAXBContext.newInstance(IBUSStatusType.class);
QName qName = new QName("http://soa.independenthealth.com/ibus/v1.1.0", "IBUSStatusType");
JAXBElement<IBUSStatusType> root = new JAXBElement<IBUSStatusType>(qName, IBUSStatusType.class, iBUSStatusType);
And this is the whole Unmarshal code. We had to change the xml to node before unmarshall it. The import of Element is import org.w3c.dom.Element;
public static IBUSStatusType getIBUSStatusType(String xml)
throws JAXBException, SAXException, IOException, ParserConfigurationException
{
JAXBContext jaxbContext = JAXBContext
.newInstance(IBUSStatusType.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Element node = DocumentBuilderFactory
.newInstance()
.newDocumentBuilder()
.parse(new ByteArrayInputStream(xml.getBytes()))
.getDocumentElement();
return ((JAXBElement<IBUSStatusType>) jaxbUnmarshaller.unmarshal(node, IBUSStatusType.class)).getValue();
}

How to create all possible XMLs?

How can I create all possible XMLs of these XSD:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns="http://beep2000/client/beep.de" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://beep2000/client/beep.de">
<xsd:complexType name="TextType">
<xsd:sequence>
<xsd:element name="Text" minOccurs=1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="StreetType">
<xsd:sequence>
<xsd:element name="Street" type="xsd:string" minOccurs="1"/>
<xsd:element name="HouseNumber" type="xsd:int" minOccurs="1"/>
<xsd:element name="Suffix" type="xsd:string" minOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="1"/>
<xsd:enumeration value="A"/>
<xsd:enumeration value="B"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BodyType">
<xsd:sequence>
<xsd:element name="FirstPart" type="TextType" minOccurs="1"/>
<xsd:element name="SecondPart" type="TextType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="AdressType">
<xsd:sequence>
<xsd:element name="Street" type="StreetType" minOccurs="0">
<xsd:element name="PostalCode" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="5"/>
<xsd:pattern value="[0-9]{5}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="City" type="xsd:string" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RequestEnvelope">
<xsd:sequence>
<xsd:element name="Title" type="xsd:string" minOccurs="0"/>
<xsd:element name="Forename" type="xsd:string" minOccurs="1"/>
<xsd:element name="Surname" type="xsd:string" minOccurs="0"/>
<xsd:element name="PersonalID" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="20"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Adress" type="AdressType" minOccurs="0"/>
<xsd:element name="Body" type="BodyType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ResponseEnvelope">
<xsd:sequence>
<xsd:element name="Result" minOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="3"/>
<xsd:enumeration value="OK"/>
<xsd:enumeration value="NOK"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Errorcode" type="xsd:integer" minOccurs="0"/>
<xsd:element name="Errortext" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Comment" type="TextType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="MsgResponse" type="ResponseEnvelope"/>
<xsd:element name="MsgRequest" type="RequestEnvelope"/>
</xsd:schema>
There are some fields which are optional and some field which are mandatory. So there is a variety of XMLs. How can I find all possible structures of XMLs?
I expect something like:
XML No.1:
Field 1 --> mandatory
Field 2 --> mandatory
Field 3 --> optional
......
XML No.2.:
Field 1 --> mandatory
Field 2 --> mandatory
Field 4 --> mandatory
.....
Generating all possible XML files that conform to this schema would take an infinite amount of time and they would occupy an infinite amount of space.
However, you can generate a selection of sample documents using tools such as those described here:
How to generate sample XML documents from their DTD or XSD?

xjc command not creating all classes defined in schema

Hello I am attempting to use xjc command to generate java objects from a .xsd file. The xsd file is massive and a portion of it can be seen below. When I run xjc on the following schema I get 3 classes UpsBas, MsgHdr, and Stm. However Stm should have a handfull of subclasses such as Ipr, Trs, or StmBpy. Why are these subclasses not being created?
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--uses CommercialInvoice v03.9, Shipment v03.7, Waybill v01.3, Manifest v01.8, Event v01.2, Declaration v01.8, BillingInvoice v01.2, Statements v01.3-->
<xsd:element name="UpsBas">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="MsgHdr"/>
<xsd:element ref="Stm" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="MsgHdr">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MsgFmtNr" type="xsd:string" minOccurs="1"/>
<xsd:element name="MsgFmtVerNr" type="xsd:string" minOccurs="1"/>
<xsd:element name="MsgInfSrcCd" type="xsd:string" minOccurs="1"/>
<xsd:element name="MsgOidNr" type="xsd:string" minOccurs="1"/>
<xsd:element name="MsgTs" type="xsd:string" minOccurs="1"/>
<xsd:element name="MsgVerNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="MsgVerMrNr" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Stm">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="StmNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="PrdStmNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="StmStsCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="StmDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="StmRptDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="DlyStmRptDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="StmPrcDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="StmPrdSttDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="StmPrdEndDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="EntSmyPsnDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="NtcCrtDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="DocRcvDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="PmtDueDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="EntTypCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="EntNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="EntPorCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="PrcPorCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="StmTypCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="BkrRefNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="PmtTypCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="Ipr" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="IprNscNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="TotA" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ADscTe" type="xsd:string" minOccurs="0"/>
<xsd:element name="A" type="xsd:string" minOccurs="0"/>
<xsd:element name="FeeTypCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="ASeqNr" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Trs" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="TrsLinNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="PrdStmNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="RelDocNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="DocTypCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="DocRelDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="DocDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="IptDrcScyOptCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="PorCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="DocNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="PmtDueDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="UndRevIr" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="StsCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="TrsDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="OthTrsIr" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="PrcPorCd" type="xsd:string" minOccurs="0"/>
<xsd:element name="EntSmyPsnDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="DlyStmRptDt" type="xsd:string" minOccurs="0"/>
<xsd:element name="A" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ADscTe" type="xsd:string" minOccurs="0"/>
<xsd:element name="ASeqNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="A" type="xsd:string" minOccurs="0"/>
<xsd:element name="FeeTypCd" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="IprBpy" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="BpyNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="IprNa" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="SeqNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="IprNa" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="StmBpy" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="BpyRlDscTe" type="xsd:string" minOccurs="0"/>
<xsd:element name="BpyIdDscTe" type="xsd:string" minOccurs="0"/>
<xsd:element name="BpyNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="BpyIdNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="BpyNa" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="SeqNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="Na" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="DltEnt" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="EntSmyNr" type="xsd:string" minOccurs="0"/>
<xsd:element name="DltSrcCd" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Please use the command prompt. The following is the way for generating from
wsdl.
See the link enter link description here
Use to following command to create the package:
xjc -xmlschema myXsdName.xsd
Use the following command to generate the jar:
jar cvf myJarName.jar packagename/*

Facing parse error while converting below mentioned ".xsd" to JAXB

I'm facing parse error while converting below mentioned .xsd to JAXB.
Here is the error message:
Errors occurred during xjc.
java.lang.Throwable:
at com.ibm.ast.ws.jaxws.emitter.jws22.v85.command.XjcCommand.runCodeXJC(Unknown Source)`enter code here`
at com.ibm.ast.ws.jaxws.emitter.jws22.v85.command.XjcCommand$1.run(Unknown Source)
at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)
Error in parsing file:/D:/ticket165%20workspace/MetLife-GroupProfile-Services/GroupProfile.xsd.
com.ibm.jtc.jax.istack.SAXParseException2: Two declarations cause a collision in the ObjectFactory class.
at com.ibm.jtc.jax.tools.xjc.ErrorReceiver.error(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.generator.bean.ObjectFactoryGeneratorImpl.populate(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.generator.bean.PublicObjectFactoryGenerator.populate(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.generator.bean.BeanGenerator.<init>(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.generator.bean.BeanGenerator.generate(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.model.Model.generateCode(Unknown Source)
at com.ibm.jtc.jax.tools.xjc.Driver.run(Unknown Source)
at com.ibm.ast.ws.jaxws.emitter.jws22.v85.command.XjcDriverWrapper.execute(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.ibm.ast.ws.jaxws.emitter.jws22.v85.command.XjcCommand.runCodeXJC(Unknown Source)
at com.ibm.ast.ws.jaxws.emitter.jws22.v85.command.XjcCommand$1.run(Unknown Source)
Here is my GroupProfile.xsd file:
<?xml version="1.0" encoding="UTF-8"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="subscrNmConsentStmt" type="xsd:string"/>
<xsd:element name="ShowEnrollmentTelephone" type="xsd:string"/>
<xsd:element name="ProductIdCardInd" type="xsd:string"/>
<xsd:element name="ShortName" type="xsd:string"/>
<xsd:element name="MetOnlineGrpExp" type="xsd:string"/>
<xsd:element name="priorityOrder" type="xsd:string"/>
<xsd:element name="locked" type="xsd:string"/>
<xsd:element name="Live" type="xsd:string"/>
<xsd:element name="helpText" type="xsd:string"/>
<xsd:element name="AlternateNames">
<xsd:complexType/>
</xsd:element>
<xsd:element name="Status">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" ref="SetupStatus"/>
<xsd:element ref="ApprovalStatus"/>
<xsd:choice>
<xsd:element minOccurs="0" ref="ActiveDate"/>
<xsd:element minOccurs="0" ref="LiveDate"/>
</xsd:choice>
<xsd:choice>
<xsd:element minOccurs="0" ref="DisplayProduct"/>
<xsd:element minOccurs="0" ref="Live"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="available" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="presentInitialInd" type="xsd:string"/>
<xsd:element name="ShowClaimsForm" type="xsd:string"/>
<xsd:element name="subscriptionId" type="xsd:string"/>
<xsd:element name="AlertEob" type="xsd:string"/>
<xsd:element name="ProductFormsInd">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ShowClaimsForm"/>
<xsd:element ref="ShowClaimsTelephone"/>
<xsd:element ref="ClaimsTelephoneNumber"/>
<xsd:element maxOccurs="unbounded" ref="ShowClaimsInitiationUrl"/>
<xsd:element ref="ShowEnrollmentForms"/>
<xsd:element ref="ShowEnrollmentTelephone"/>
<xsd:element ref="EnrollmentTelephoneNumber"/>
<xsd:element ref="ShowEnrollmentUrl"/>
<xsd:element ref="ShowBeneficiaryForms"/>
<xsd:element ref="ShowBeneficiaryTelephone"/>
<xsd:element ref="BeneficiaryTelephoneNumber"/>
<xsd:element ref="ShowBeneficiaryUrl"/>
<xsd:element ref="ShowOtherForms"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CertifiedProviderSearchInd" type="xsd:string"/>
<xsd:element name="HoursOfOperationList">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" ref="HoursOfOperation"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="EmailName" type="xsd:string"/>
<xsd:element name="Names">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="GeneralName"/>
<xsd:element ref="PortalBannerName"/>
<xsd:element ref="EmailName"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="EndTime" type="xsd:string"/>
<xsd:element name="MPEIndicator" type="xsd:string"/>
<xsd:element name="AddressType" type="xsd:string"/>
<xsd:element name="StartTime" type="xsd:string"/>
<xsd:element name="ClaimsPhoneNum" type="xsd:string"/>
<xsd:element name="ShowClaimsTelephone" type="xsd:string"/>
<xsd:element name="ApprovalStatus" type="xsd:string"/>
<xsd:element name="EsigPasswordInd" type="xsd:string"/>
<xsd:element name="GNA" type="xsd:string"/>
<xsd:element name="consentStmtReq" type="xsd:string"/>
<xsd:element name="enableForEligible" type="xsd:string"/>
<xsd:element name="Subscription">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="productCode"/>
<xsd:element ref="name"/>
<xsd:element ref="subscriptionId"/>
<xsd:element ref="enabled"/>
<xsd:element ref="locked"/>
<xsd:element ref="subscriptionMethodType"/>
<xsd:element ref="autoSubscriptionType"/>
<xsd:element ref="presentInitialInd"/>
<xsd:element ref="presentSubsequentInd"/>
<xsd:element ref="subsequentInterval"/>
<xsd:element ref="groupEmailVarTxt"/>
<xsd:element ref="groupEmailTemplateId"/>
<xsd:element ref="offerSubscriptionId"/>
<xsd:element ref="helpText"/>
<xsd:element ref="offerText"/>
<xsd:element ref="maintainText"/>
<xsd:element ref="indvUnsubscrEmailTemplateId"/>
<xsd:element ref="indvUnsubscrEmailVarTxt"/>
<xsd:element ref="apprTextIniOfferPg"/>
<xsd:element ref="apprTextUpdProfilePg"/>
<xsd:element ref="subscrNmConsentStmt"/>
<xsd:element ref="priorityOrder"/>
<xsd:element ref="displayName"/>
<xsd:element ref="enableForEligible"/>
<xsd:element ref="consentStmtReq"/>
<xsd:element ref="provideCntctInfo"/>
<xsd:element ref="enableForDependent"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ReturnToSiteURL" type="xsd:string"/>
<xsd:element name="ProductLOBOrder" type="xsd:string"/>
<xsd:element name="BenefitsUrlSpecInstr" type="xsd:string"/>
<xsd:element name="indvUnsubscrEmailTemplateId">
<xsd:complexType/>
</xsd:element>
<xsd:element name="enabled" type="xsd:string"/>
<xsd:element name="AddressLineTwo" type="xsd:string"/>
<xsd:element name="LongName" type="xsd:string"/>
<xsd:element name="GroupProfile">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Names"/>
<xsd:element ref="Status"/>
<xsd:element ref="CustomerSegment"/>
<xsd:element ref="ServiceUnit"/>
<xsd:element ref="CdfNumber"/>
<xsd:element ref="TestGroupInd"/>
<xsd:element ref="MPEIndicator"/>
<xsd:element ref="ReturnToSiteURL"/>
<xsd:element ref="PortalOptions"/>
<xsd:element ref="Registration"/>
<xsd:element ref="AlternateNames"/>
<xsd:element ref="Products"/>
</xsd:sequence>
<xsd:attribute name="groupNumber" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="PublicAccess" type="xsd:string"/>
<xsd:element name="ProductContact">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ContactUrlLinkText"/>
<xsd:element ref="FaxNumber"/>
<xsd:element ref="BenefitsUrl"/>
<xsd:element ref="BenefitsUrlSpecInstr"/>
<xsd:element ref="ServicePhoneLeaderText"/>
<xsd:element ref="ServicePhoneParagraph"/>
<xsd:element ref="ServicePhoneNum"/>
<xsd:element ref="ServicePhoneHoursOfOperation"/>
<xsd:element ref="ClaimsPhoneNum"/>
<xsd:element ref="ClaimsPhoneHoursOfOperation"/>
<xsd:element ref="LiveChatPhoneNum"/>
<xsd:element ref="LiveChatHoursOfOperation"/>
<xsd:element ref="GeneralCorrespondence"/>
<xsd:element ref="Billing"/>
<xsd:element ref="PaymentOrDepositWithStub"/>
<xsd:element ref="PaymentOrDepositWithoutStub"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="CustomerSegment">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="GNA"/>
<xsd:element ref="GRO"/>
<xsd:element ref="SBC"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="maintainText" type="xsd:string"/>
<xsd:element name="enableForDependent" type="xsd:string"/>
<xsd:element name="ProdVarParamLabel2">
<xsd:complexType/>
</xsd:element>
<xsd:element name="Billing">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="AddressType"/>
<xsd:element ref="AddressLineOne"/>
<xsd:element ref="AddressLineTwo"/>
<xsd:element ref="City"/>
<xsd:element ref="State"/>
<xsd:element ref="PostalCode"/>
<xsd:element ref="PostalExtension"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ShowBeneficiaryTelephone" type="xsd:string"/>
<xsd:element name="ProductCode" type="xsd:string"/>
<xsd:element name="ProdVarParamLabel3">
<xsd:complexType/>
</xsd:element>
<xsd:element name="ProdVarParamLabel4">
<xsd:complexType/>
</xsd:element>
<xsd:element name="PrintSignMailInd" type="xsd:string"/>
<xsd:element name="AddressLineOne" type="xsd:string"/>
<xsd:element name="PaymentOrDepositWithoutStub">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="AddressType"/>
<xsd:element ref="AddressLineOne"/>
<xsd:element ref="AddressLineTwo"/>
<xsd:element ref="City"/>
<xsd:element ref="State"/>
<xsd:element ref="PostalCode"/>
<xsd:element ref="PostalExtension"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="LiveChatHoursOfOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="HoursOfOperationList"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="displayName" type="xsd:string"/>
<xsd:element name="State" type="xsd:string"/>
<xsd:element name="groupEmailTemplateId">
<xsd:complexType/>
</xsd:element>
<xsd:element name="PortalOptions">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="MetLifeBranding"/>
<xsd:element ref="ShowLifeEventsAdviceInd"/>
<xsd:element ref="ShowMetlifeDotComInd"/>
<xsd:element ref="ShowLiveChatInd"/>
<xsd:element ref="PromptToWebChatInd"/>
<xsd:element ref="MetOnlineGrpExp"/>
<xsd:element ref="EnableClickTale"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="GeneralName" type="xsd:string"/>
<xsd:element name="PostalCode" type="xsd:string"/>
<xsd:element name="productCode" type="xsd:string"/>
<xsd:element name="IndividualAccess" type="xsd:string"/>
<xsd:element name="ShowLiveChatInd" type="xsd:string"/>
<xsd:element name="ProdVarParamValue2">
<xsd:complexType/>
</xsd:element>
<xsd:element name="ProdVarParamValue3">
<xsd:complexType/>
</xsd:element>
<xsd:element name="ProdVarParamValue4">
<xsd:complexType/>
</xsd:element>
<xsd:element name="GeneralCorrespondence">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="AddressType"/>
<xsd:element ref="AddressLineOne"/>
<xsd:element ref="AddressLineTwo"/>
<xsd:element ref="City"/>
<xsd:element ref="State"/>
<xsd:element ref="PostalCode"/>
<xsd:element ref="PostalExtension"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="PortalBannerName" type="xsd:string"/>
<xsd:element name="Products">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Product"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="groupEmailVarTxt">
<xsd:complexType/>
</xsd:element>
<xsd:element name="ShowBeneficiaryForms" type="xsd:string"/>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="City" type="xsd:string"/>
<xsd:element name="ShowMetlifeDotComInd" type="xsd:string"/>
<xsd:element name="ProductSetId" type="xsd:string"/>
<xsd:element name="TranslationInd" type="xsd:string"/>
<xsd:element name="ServicePhoneLeaderText" type="xsd:string"/>
<xsd:element name="KeyIdentifierField">
<xsd:complexType/>
</xsd:element>
<xsd:element name="offerSubscriptionId" type="xsd:string"/>
<xsd:element name="PostalExtension" type="xsd:string"/>
<xsd:element name="ServicePhoneParagraph" type="xsd:string"/>
<xsd:element name="EligibilityRequirement" type="xsd:string"/>
<xsd:element name="ClaimsTelephoneNumber">
<xsd:complexType/>
</xsd:element>
<xsd:element name="GroupAccess" type="xsd:string"/>
<xsd:element name="FaxNumber" type="xsd:string"/>
<xsd:element name="EnrollmentTelephoneNumber">
<xsd:complexType/>
</xsd:element>
<xsd:element name="offerText" type="xsd:string"/>
<xsd:element name="PaymentOrDepositWithStub">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="AddressType"/>
<xsd:element ref="AddressLineOne"/>
<xsd:element ref="AddressLineTwo"/>
<xsd:element ref="City"/>
<xsd:element ref="State"/>
<xsd:element ref="PostalCode"/>
<xsd:element ref="PostalExtension"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ProductDescription" type="xsd:string"/>
<xsd:element name="ShowEnrollmentUrl" type="xsd:string"/>
<xsd:element name="ShowEnrollmentForms" type="xsd:string"/>
<xsd:element name="SsoRequired" type="xsd:string"/>
<xsd:element name="CdfNumber" type="xsd:string"/>
<xsd:element name="presentSubsequentInd" type="xsd:string"/>
<xsd:element name="TreatAsParticipating" type="xsd:string"/>
<xsd:element name="SetupStatus" type="xsd:string"/>
<xsd:element name="TestGroupInd" type="xsd:string"/>
<xsd:element name="apprTextUpdProfilePg" type="xsd:string"/>
<xsd:element name="ShowLifeEventsAdviceInd" type="xsd:string"/>
<xsd:element name="ContactUrlLinkText" type="xsd:string"/>
<xsd:element name="subscriptionMethodType" type="xsd:string"/>
<xsd:element name="ClaimsPhoneHoursOfOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="HoursOfOperationList"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ServiceUnit" type="xsd:string"/>
<xsd:element name="ServicePhoneHoursOfOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="HoursOfOperationList"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="IdCardOrderInd" type="xsd:string"/>
<xsd:element name="ShowClaimsInitiationUrl" type="xsd:string"/>
<xsd:element name="GRO" type="xsd:string"/>
<xsd:element name="autoSubscriptionType" type="xsd:string"/>
<xsd:element name="ShowBeneficiaryUrl" type="xsd:string"/>
<xsd:element name="provideCntctInfo" type="xsd:string"/>
<xsd:element name="MyAcctProdSpecificCustNum">
<xsd:complexType/>
</xsd:element>
<xsd:element name="GsmSessionParticipation" type="xsd:string"/>
<xsd:element name="apprTextIniOfferPg" type="xsd:string"/>
<xsd:element name="Product">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="ProductCode"/>
<xsd:element ref="ExternalIdentifier"/>
<xsd:element ref="ProductSetId"/>
<xsd:element ref="ShortName"/>
<xsd:element ref="LongName"/>
<xsd:element ref="ProductCategory"/>
<xsd:element ref="ProductDescription"/>
<xsd:element ref="Status"/>
<xsd:element ref="EligibilityRequirement"/>
<xsd:element ref="GroupAccess"/>
<xsd:element ref="PublicAccess"/>
<xsd:element ref="IndividualAccess"/>
<xsd:element ref="TreatAsParticipating"/>
<xsd:element ref="SsoRequired"/>
<xsd:element ref="ClaimsIntake"/>
<xsd:element ref="UisProductId"/>
<xsd:element ref="MyAcctProdSpecificCustNum"/>
<xsd:element ref="KeyIdentifierField"/>
<xsd:element ref="ProdVarParamLabel2"/>
<xsd:element ref="ProdVarParamValue2"/>
<xsd:element ref="ProdVarParamLabel3"/>
<xsd:element ref="ProdVarParamValue3"/>
<xsd:element ref="ProdVarParamLabel4"/>
<xsd:element ref="ProdVarParamValue4"/>
<xsd:element ref="GsmSessionParticipation"/>
<xsd:element ref="ClaimsTelephoneNumber"/>
<xsd:element ref="CertifiedProviderSearchInd"/>
<xsd:element ref="EsigPasswordInd"/>
<xsd:element ref="PrintSignMailInd"/>
<xsd:element ref="ProductIdCardInd"/>
<xsd:element ref="TranslationInd"/>
<xsd:element ref="IdCardOrderInd"/>
<xsd:element ref="ForeignProviderName"/>
<xsd:element ref="AlertEob"/>
<xsd:element ref="ProductLOB"/>
<xsd:element ref="ProductLOBOrder"/>
<xsd:element ref="ProductContact"/>
<xsd:element ref="Subscriptions"/>
<xsd:element ref="ProductFormsInd"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="indvUnsubscrEmailVarTxt">
<xsd:complexType/>
</xsd:element>
<xsd:element name="SBC" type="xsd:string"/>
<xsd:element name="Subscriptions">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Subscription"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Registration">
<xsd:complexType/>
</xsd:element>
<xsd:element name="subsequentInterval" type="xsd:string"/>
<xsd:element name="LiveDate" type="xsd:string"/>
<xsd:element name="LiveChatPhoneNum" type="xsd:string"/>
<xsd:element name="HoursOfOperation">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="StartDay"/>
<xsd:element ref="EndDay"/>
<xsd:element ref="StartTime"/>
<xsd:element ref="EndTime"/>
</xsd:sequence>
<xsd:attribute name="typeCode" type="xsd:string"/>
<xsd:attribute name="productCode" type="xsd:string"/>
<xsd:attribute name="hrsAvailSeqNum" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="EndDay" type="xsd:string"/>
<xsd:element name="ClaimsIntake" type="xsd:string"/>
<xsd:element name="BeneficiaryTelephoneNumber">
<xsd:complexType/>
</xsd:element>
<xsd:element name="UisProductId">
<xsd:complexType/>
</xsd:element>
<xsd:element name="EnableClickTale" type="xsd:string"/>
<xsd:element name="DisplayProduct" type="xsd:string"/>
<xsd:element name="ProductCategory" type="xsd:string"/>
<xsd:element name="ServicePhoneNum" type="xsd:string"/>
<xsd:element name="ForeignProviderName" type="xsd:string"/>
<xsd:element name="ProductLOB" type="xsd:string"/>
<xsd:element name="PromptToWebChatInd" type="xsd:string"/>
<xsd:element name="MetLifeBranding" type="xsd:string"/>
<xsd:element name="BenefitsUrl" type="xsd:string"/>
<xsd:element name="ExternalIdentifier" type="xsd:string"/>
<xsd:element name="ActiveDate" type="xsd:string"/>
<xsd:element name="StartDay" type="xsd:string"/>
<xsd:element name="ShowOtherForms" type="xsd:string"/>
</xsd:schema>

JAXB Generated POJOs not Implementing Serializable Interface

I have the following XSD file that when I run XJC within Intellij, the corresponding POJOs do not implement Serializable:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
version="2.1">
<xsd:annotation>
<xsd:appinfo>
<jaxb:globalBindings generateIsSetMethod="true">
<xjc:serializable uid="1"/>
</jaxb:globalBindings>
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="FormTemplateInfo">
<xsd:complexType>
<xsd:sequence>
<!-- <xsd:element ref="TrFormTemplate"/>-->
<xsd:element ref="TrFormCd"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<!--<xsd:element name="TrFormTemplate" type="TrFormTemplate"/>-->
<xsd:element name="TrFormCd" type="TrFormCd"/>
<xsd:complexType name="TrFormCd">
<xsd:sequence>
<xsd:element name="formCdSysId" type="xsd:int"/>
<xsd:element name="formRequestedByNm" type="xsd:string" nillable="true"/>
<xsd:element name="formUploadDt" type="xsd:dateTime" nillable="true"/>
<xsd:element name="formPriceAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="formCd" type="xsd:string" nillable="true"/>
<xsd:element name="formLowLimitCnt" type="xsd:int" nillable="true"/>
<xsd:element name="formDesc" type="xsd:string" nillable="true"/>
<xsd:element name="stateRequiredEndrInd" type="xsd:string" nillable="true"/>
<xsd:element name="formNumberedInd" type="xsd:string" nillable="true"/>
<xsd:element name="nbrOfPartNbr" type="xsd:int" nillable="true"/>
<xsd:element name="largeOrdrItemInd" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="formEndDt" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="formSizeCd" type="xsd:string" nillable="true"/>
<xsd:element name="formLayoutCd" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="formOrntCd" type="xsd:string" nillable="true"/>
<xsd:element name="formStockCd" type="xsd:string" nillable="true"/>
<xsd:element name="binderyNameCd" type="xsd:string" nillable="true"/>
<xsd:element name="formFinishCd" type="xsd:string" nillable="true"/>
<xsd:element name="unitCd" type="xsd:string" nillable="true"/>
<xsd:element name="formBlob" type="xsd:base64Binary" nillable="true"/>
<xsd:element name="isHardCopyInd" type="xsd:string" nillable="true"/>
<xsd:element name="quantityPerPackNbr" type="xsd:int" nillable="true"/>
<xsd:element name="rceFormNm" type="xsd:string" nillable="true"/>
<xsd:element name="formTemplateId" type="xsd:int" nillable="true"/>
<xsd:element name="prodSysId" type="xsd:int" nillable="true"/>
<xsd:element name="formCdStateGrpNbr" type="xsd:string" nillable="true"/>
<xsd:element name="formCgyCd" type="xsd:string" nillable="true"/>
<xsd:element name="formTemplateSysId" type="xsd:int" nillable="true"/>
<xsd:element name="TrFormTemplate" type="TrFormTemplate" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrFormTemplate">
<xsd:sequence>
<xsd:element name="formTemplateSysId" type="xsd:int"/>
<xsd:element name="formTemplateNm" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="TrFormTemplateVersions" type="TrFormTemplateVersion" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrFormTemplateVersion">
<xsd:sequence>
<xsd:element name="templateVerSysId" type="xsd:int"/>
<xsd:element name="formTemplateSysId" type="xsd:int"/>
<xsd:element name="templateEffectDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="formTemplateBlob" type="xsd:base64Binary" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="documentType" type="xsd:string" nillable="true"/>
<xsd:element name="TrFormTemplateFields" type="TrFormTemplateField" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrFormTemplateField">
<xsd:sequence>
<xsd:element name="templateFldSysId" type="xsd:int"/>
<xsd:element name="templateVerSysId" type="xsd:int"/>
<xsd:element name="fieldSeqNo" type="xsd:int" nillable="true"/>
<xsd:element name="formTemplateBlob" type="xsd:base64Binary" nillable="true"/>
<xsd:element name="fieldKey" type="xsd:string" nillable="true"/>
<xsd:element name="fieldNm" type="xsd:string" nillable="true"/>
<xsd:element name="displType" type="xsd:string" nillable="true"/>
<xsd:element name="displFormat" type="xsd:string" nillable="true"/>
<xsd:element name="displLblWhenEmptyInd" type="xsd:string" nillable="true"/>
<xsd:element name="activeInd" type="xsd:string" nillable="true"/>
<xsd:element name="requiredInd" type="xsd:string" nillable="true"/>
<xsd:element name="promptUserInd" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="editAfterRptInd" type="xsd:string" nillable="true"/>
<xsd:element name="displValOnlyInd" type="xsd:string" nillable="true"/>
<xsd:element name="TrFormFieldValues" type="TrFormFieldValue" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrFormFieldValue">
<xsd:sequence>
<xsd:element name="formFldValSysId" type="xsd:long"/>
<xsd:element name="formFieldValueTxt" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:long" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="TrPolicies" type="TrPolicy" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrPolicy">
<xsd:sequence>
<xsd:element name="polSysId" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<xsd:element name="prodNbr" type="xsd:string" nillable="true"/>
<xsd:element name="polNbr" type="xsd:string" nillable="true"/>
<xsd:element name="relatedPolSysId" type="xsd:int" nillable="true"/>
<xsd:element name="acctPeriodMonthYrDt" type="xsd:dateTime" nillable="true"/>
<xsd:element name="validationDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="agentCmsnAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="agentPremAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="agentNetToCoAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="ourPremAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="ourCmsnAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="ourNetToCoAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="liabAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="polEffectDt" type="xsd:dateTime" nillable="true"/>
<xsd:element name="enteredIntoSysDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="polDataSourceCd" type="xsd:string" nillable="true"/>
<xsd:element name="polSubStatCd" type="xsd:string" nillable="true"/>
<xsd:element name="externalShipmentNbr" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="ratePolicyCd" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="relatedPolNbr" type="xsd:string" nillable="true"/>
<xsd:element name="reissueLiabAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="ubeOverrideInd" type="xsd:string" nillable="true"/>
<xsd:element name="ctiBatchNbr" type="xsd:string" nillable="true"/>
<xsd:element name="rateCalcInd" type="xsd:string" nillable="true"/>
<xsd:element name="unitsNbr" type="xsd:int" nillable="true"/>
<xsd:element name="unitTotalNbr" type="xsd:int" nillable="true"/>
<xsd:element name="totalOfAllLoansAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="uploadCmsnSplitType" type="xsd:string" nillable="true"/>
<xsd:element name="uploadCmsnSplitAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="rateCalcErrorCd" type="xsd:string" nillable="true"/>
<xsd:element name="cmsnCalcErrorCd" type="xsd:string" nillable="true"/>
<xsd:element name="correctedInd" type="xsd:string" nillable="true"/>
<xsd:element name="migBalOffsetAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="isMigInd" type="xsd:string" nillable="true"/>
<xsd:element name="cmsnSplitType" type="xsd:string" nillable="true"/>
<xsd:element name="origValidationDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="uploadAcctPeriodMonthYrDt" type="xsd:dateTime" nillable="true"/>
<xsd:element name="uploadSysId" type="xsd:int" nillable="true"/>
<xsd:element name="polChckNbr" type="xsd:string" nillable="true"/>
<xsd:element name="polChckAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="manualMigrInd" type="xsd:string" nillable="true"/>
<xsd:element name="autoReportLevel" type="xsd:string" nillable="true"/>
<xsd:element name="externalMsgUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="externalPolSysId" type="xsd:int" nillable="true"/>
<xsd:element name="priorPolicyDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="priorPolicyPremAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="simultaneousAmt" type="xsd:decimal" nillable="true"/>
<xsd:element name="chckRcptInd" type="xsd:string" nillable="true"/>
<xsd:element name="reportedDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="impChckAutoRptInd" type="xsd:string" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrProduct">
<xsd:sequence>
<xsd:element name="prodSysId" type="xsd:int"/>
<xsd:element name="prodNbr" type="xsd:string" nillable="true"/>
<xsd:element name="prodDesc" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="TrFormCd" type="TrFormCd" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrFormUw">
<xsd:sequence>
<xsd:element name="uwSysId" type="xsd:int"/>
<!-- <xsd:element name="formCdSysIds" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/>-->
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="TrFormCd" type="TrFormCd" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="TrUnderwriters" type="TrUnderwriter" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrUnderwriter">
<xsd:sequence>
<xsd:element name="uwSysId" type="xsd:int"/>
<xsd:element name="busNm" type="xsd:string" nillable="true"/>
<xsd:element name="uwGlBankValidInd" type="xsd:string" nillable="true"/>
<xsd:element name="uwAbbvCd" type="xsd:string" nillable="true"/>
<xsd:element name="uwNbr" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="uwRceCd" type="xsd:string" nillable="true"/>
<xsd:element name="uwLogoBlob" type="xsd:base64Binary" nillable="true"/>
<xsd:element name="rollupUwSysId" type="xsd:int" nillable="true"/>
<xsd:element name="altBusNm" type="xsd:string" nillable="true"/>
<xsd:element name="consolidatedRceCd" type="xsd:string" nillable="true"/>
<xsd:element name="consolidatedDt" type="xsd:dateTime" nillable="true"/>
<xsd:element name="TrFormUws" type="TrFormUw" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="TrUnderwriterImages" type="TrUnderwriterImage" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrUnderwriterImage">
<xsd:sequence>
<xsd:element name="uwSysId" type="xsd:int"/>
<xsd:element name="imageTypeCd" type="xsd:string" nillable="true"/>
<xsd:element name="imageBlob" type="xsd:base64Binary" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="imageFileNm" type="xsd:string" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="TrFormState">
<xsd:sequence>
<xsd:element name="formCdSysId" type="xsd:int" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="formStateStatCd" type="xsd:string" nillable="true"/>
<xsd:element name="effectDt" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecCreateDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="priorStatCd" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecCreateApplId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDts" type="xsd:dateTime" nillable="true"/>
<xsd:element name="auditRecUpdtApplUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtDbUserId" type="xsd:string" nillable="true"/>
<xsd:element name="auditRecUpdtVerNbr" type="xsd:int" nillable="true"/>
<xsd:element name="stateCd" type="xsd:string" nillable="true"/>
<xsd:element name="fileNoteTxt" type="xsd:string" nillable="true"/>
<xsd:element name="fileDt" type="xsd:dateTime" nillable="true"/>
<xsd:element name="atFormApprInd" type="xsd:string" nillable="true"/>
<xsd:element name="rceFormCd" type="xsd:string" nillable="true"/>
<xsd:element name="atRestrictedInd" type="xsd:string" nillable="true"/>
<xsd:element name="arFormApprInd" type="xsd:string" nillable="true"/>
</xsd:sequence>
</xsd:complexType>
I've followed the instructions on the following
Oracle JAXB:
How to generate a Java class which implements Serializable interface from xsd using JAXB?
Please tell me what I'm doing wrong.
I simply modified the XSD to have
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
instead of
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
jaxb:extensionBindingPrefixes="xjc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd"
version="2.1">

Categories