[AG-DEV] Stuck with ZSI dictionary treatment in SOAP calls
Thomas D. Uram
turam at mcs.anl.gov
Tue Mar 21 09:26:20 CST 2006
Since you "don't use a dictionary anymore" you have presumably changed
the WSDL. Have you re-generated the interfaces (using tools/GenerateInterfaces.py)
since you changed the WSDL to not use dictionaries? If so, I would check
in AccessGrid/interfaces/AccessGrid_Types.py to see how DirectoryDescription
is represented.
Tom
On 3/21/06 9:20 AM, Michael Braitmaier wrote:
> I got quite far with the data store so far. Now I wanted to propagate
> the event that a new directory has been added which requires me to
> send an object of type DirectoryDescription:
>
> <xs:complexType name="DirectoryDescription">
> <xs:sequence>
> <xs:element name="id" type="xs:string"/>
> <xs:element name="name" type="xs:string"/>
> <xs:element name="description" nillable="true" type="xs:string"/>
> <xs:element name="uri" nillable="true" type="xs:string"/>
> <xs:element name="status" nillable="true" type="xs:string"/>
> <xs:element name="size" nillable="true" type="xs:int"/>
> <xs:element name="checksum" nillable="true" type="xs:string"/>
> <xs:element name="owner" nillable="true" type="xs:string"/>
> <xs:element name="type" nillable="true" type="xs:string"/>
> <xs:element name="lastModified" nillable="true" type="xs:string"/>
> <xs:element name="parentId" nillable="true" type="xs:string"/>
> <xs:element name="Level" nillable="true" type="xs:string"/>
> <xs:element name="location" nillable="true" type="xs:string"/>
> <xs:element name="dataContainer" nillable="true" minOccurs="0"
> maxOccurs="unbounded" type="xs:string"/>
> <xs:element name="objectType" nillable="true" type="xs:int"/>
> </xs:sequence>
> </xs:complexType>
>
> This object contains a list called dataContainer, which is nothing more
> than a list of strings with IDs.
> When I now call the statement for sending the event in the Venue:
>
> #Send event to clients
> self.eventClient.Send(Event.ADD_DIR,locDataDesc)
>
> I get a ZSI exception:
> ZSI.FaultException: Processing Failure
> ZSI:EvaluateException
> Serializing EventDescription.data, EvaluateException Serializing
> dictionaries not implemented when processContents="strict". Try as a
> list or use processContents="lax".
>
> I am really confused about that, because I don't use a dictionary
> anymore, but a list.
> Can anybody tell em or give me a hint what I am doing wrong. Are there
> cases where ZSI considers a list being treated like a dictionary?
> How can I work around it?
>
> Michael
>
More information about the ag-dev
mailing list