Hi List, currently I'm developing a soap server with SOAP::Lite. Now i ran into trouble because I use an own schema with complex data types. On client side everything works fine. Now I try to handle the generated requests on the server side. But I can't figure out how the deserializer presemts me the parsed information. I try to process the following request:
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <namesp1:AddGroupAttributes xmlns:namesp1="urn:MyService"> <ProviderName xsi:type="xsd:string"> MyProvider </ProviderName> <GroupName xsi:type="xsd:string"> MyGroup </GroupName> <AttrList xsi:type="namesp1:attrList"> <listItem xsi:type="namesp1:attrItem"> <attrName xsi:type="xsd:string"> Attribute1 </attrName> <attrVal xsi:type="xsd:string"> Value1 </attrVal> </listItem> <listItem> <attrName xsi:type="xsd:string"> Attribute2 </attrName> <attrVal xsi:type="xsd:string"> Wert2 </attrVal> </listItem> </AttrList> </namesp1:AddGroupAttributes> </soap:Body> </soap:Envelope> If I use the following handler package MyService; sub AddGroupAttributes { ($self, $provider, $group, $attrlist) = @_; ($name, $hashref) = split('=', $attrlist); $params = $$hashref; ... } the variables $provider and $group are set correctly but the hash for the list items is empty. Do I have to override the deserializer (if yes, is there any documentation available) or am I handling the parameters in the wrong way? I would appreciate if someone could point me in the right direction. Thanks, Tobias