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
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.