J'essaie de modéliser un objet métier complexe (nommé Prenda) qui contient un attribut du même type de l'objet (Prenda) à l'aide de JDeveloper 11g.Modélisation d'objets métier récursifs dans Oracle SOA Suite 11g
Ceci est mon xsd:
<?xml version="1.0" encoding="UTF-8"?>
<?bpmo version="11.1.1" build="6.84" fullName="Mx.Org.Frd.Bo.Prenda" modifiers="0"?>
<!--########################################################################################-->
<!--#### ####-->
<!--#### THIS IS AN AUTO GENERATED FILE. PLEASE DO NOT MANUALLY MODIFY ####-->
<!--#### CHANGES TO THIS FILE MAY PRODUCE UNEXPECTED BEHAVIOR AND WOULD BE OVERWRITTEN ####-->
<!--#### ####-->
<!--########################################################################################-->
<xs:schema targetNamespace="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Prenda" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns3="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Reloj" xmlns:ns2="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Metal" xmlns:ns1="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Diamante" xmlns="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Prenda" xmlns:bpmo="http://xmlns.oracle.com/bpm/bpmobject/" >
<xs:import namespace="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Reloj" schemaLocation="Reloj.xsd"/>
<xs:import namespace="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Diamante" schemaLocation="Diamante.xsd"/>
<xs:import namespace="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Metal" schemaLocation="Metal.xsd"/>
<xs:import namespace="http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Prenda" schemaLocation="Prenda.xsd"/>
<xs:complexType name="PrendaType">
<xs:sequence>
<xs:element name="id" nillable="true" type="xs:long"/>
<xs:element name="valor" nillable="true" type="xs:decimal"/>
<xs:element name="precioVenta" nillable="true" type="xs:decimal"/>
<xs:element name="fechaCreacion" nillable="true" type="xs:dateTime"/>
<xs:element name="fechaModificacion" nillable="true" type="xs:dateTime"/>
<xs:element name="tipoPrenda" nillable="true" type="xs:string">
<xs:annotation>
<xs:documentation>
<bpmo:documentable>
<bpmo:description>
prenda, grupo, elemento
</bpmo:description>
</bpmo:documentable>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tipoElemento" nillable="true" type="xs:string">
<xs:annotation>
<xs:documentation>
<bpmo:documentable>
<bpmo:description>
diamante, metal
</bpmo:description>
</bpmo:documentable>
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="diamante" type="ns1:DiamanteType"/>
<xs:element name="metal" type="ns2:MetalType"/>
<xs:element name="reloj" type="ns3:RelojType"/>
<xs:element name="padre" type="PrendaType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Prenda" type="PrendaType"/>
</xs:schema>
Mais je vais avoir des problèmes pour déployer le composite en raison de l'padre d'attribut est du même type: PrendaType que mon objet entier. Je reçois cette erreur:
Caused by: oracle.fabric.common.wsdl.XSDException: oracle.xml.parser.schema.XSDException: imported namespace "http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Prenda" must different from namespace "http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Prenda" [Cause=imported namespace "http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Prenda" must different from namespace "http://xmlns.oracle.com/bpm/bpmobject/Mx/Org/Frd/Bo/Prenda"]
at oracle.fabric.common.wsdl.SchemaManager.buildXDKSchema(SchemaManager.java:384)
at oracle.fabric.common.wsdl.SchemaManager.lookupSchema(SchemaManager.java:216)
at oracle.fabric.common.wsdl.SchemaManager.lookupXSDElementDeclaration(SchemaManager.java:399)
at com.collaxa.cube.xml.xsd.SchemaToXML.generateXMLElement(SchemaToXML.java:367)
Toute idée comment faire ?, je pensais à quelque chose comme patrimoine, mais l'IDE ne montre pas d'options pour Prolonge la XSD, donc je ne sais pas si ce est possible.
grâce