Hi Santhosh,

My guess is your schema definition has errors.

You should have something like this on the <schema> element:

xmlns:tns="... your models targetNamespace..."
xmlns:sdoXML="commonj.sdo/xml"

and then the the cross reference declared like this:

sdoXML:propertyType="tns:InvolvedPartyImpl"

Also, I don't believe you need this import:

 <xsd:import namespace="commonj.sdo/xml"
      schemaLocation="sdoXML.xsd">
 </xsd:import>

since the annotation namespaces are automatically available.

Frank.

"Santhosh Adiga" <[EMAIL PROTECTED]> wrote on 06/16/2008 05:11:30 AM:

> Hi,
> 
>   I am trying to serialize and deserialize a SDO containing a
> non-containment reference. Here is the xsd corresponding to the SDO.
> 
> <xsd:import namespace="commonj.sdo/xml"
>         schemaLocation="sdoXML.xsd">
>     </xsd:import>
>     <xsd:complexType mixed="true" name="InvolvedPartyImpl">
>         <xsd:sequence>
>             <xsd:element minOccurs="0" name="involvedPartySurrogate"
>                 type="domain:SurrogateDomain" />
>             <xsd:element minOccurs="0" name="organizationOrPerson"
>                 type="domain:OrganizationOrPersonDomain" />
>             <xsd:element minOccurs="0" name="paymentPlan"
>                 type="bons0:PaymentPlan" maxOccurs="1">
>             </xsd:element>
>             <xsd:element minOccurs="0" name="financialTransactions"
>                 type="bons0:FinancialTransactions">
>             </xsd:element>
>             <xsd:element minOccurs="0" name="refInvolvedParty"
>                 type="bons0:InvolvedPartyImpl" maxOccurs="1">
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
>     <xsd:complexType name="PaymentPlan">
>         <xsd:sequence>
>             <xsd:element minOccurs="0" name="PaymentPlanName"
>                 type="xsd:string">
>             </xsd:element>
>             <xsd:element minOccurs="0" name="PaymentPlanID"
>                 type="xsd:int">
>             </xsd:element>
>             <xsd:element minOccurs="0" name="refInvolvedParty"
>                 type="xsd:anyURI" 
sdoXML:propertyType="InvolvedPartyImpl">
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
>     <xsd:complexType name="FinancialTransaction">
>         <xsd:sequence>
>             <xsd:element minOccurs="0" name="financialTransaction"
>                 type="xsd:double">
>             </xsd:element>
>             <xsd:element minOccurs="0" name="financialTransactionID"
>                 type="xsd:long">
>             </xsd:element>
>             <xsd:element minOccurs="0" name="refInvolvedParty"
>                 type="xsd:anyURI" 
sdoXML:propertyType="InvolvedPartyImpl"
>                 maxOccurs="1">
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
>     <xsd:complexType name="FinancialTransactions">
>         <xsd:sequence>
>             <xsd:element minOccurs="0" name="financialTransaction"
>                 type="bons0:FinancialTransaction" maxOccurs="unbounded">
>             </xsd:element>
>         </xsd:sequence>
>     </xsd:complexType>
> 
> 
> 
> 
> 
> As you can see the payment plan contains a reference to an involved 
party.
> When the referenced involved party is present in the same data graph
> as the payment plan, here is the serialized xml i am getting.
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <p:InvolvedPartyImpl xsi:type="p:InvolvedPartyImpl"
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>     xmlns:p="http://www.abc.com/edm/entities";>
>     <financialTransactions>
>         <financialTransaction>
>             <financialTransactionID>13</financialTransactionID>
>         </financialTransaction>
>         <financialTransaction>
>             <financialTransactionID>12</financialTransactionID>
>         </financialTransaction>
>     </financialTransactions>
>     <involvedPartySurrogate>23</involvedPartySurrogate>
>     <paymentPlan>
>         <PaymentPlanID>12</PaymentPlanID>
>         *<refInvolvedParty>
>             BusinessObject: [EMAIL PROTECTED]
>             (:mixed=[entities:involvedPartySurrogate=24],
>             involvedPartySurrogate=24)
>         </refInvolvedParty>*
>     </paymentPlan>
>     <refInvolvedParty>
>         <involvedPartySurrogate>24</involvedPartySurrogate>
>     </refInvolvedParty>
> </p:InvolvedPartyImpl>
> 
> 
> And I am having problems deserializing the reference involved party
> obtained.
> Could you let me know if there is any special trick to be applied while
> serializing or deserializing a
> non-containment reference and is it specific to any implementation?
> 
> 
> Thanks
> Santhosh

Reply via email to