my %methods = ( ... findGroups => { endpoint => 'https://xxx.xxx.xxx.xxx:xxxx/grouper-ws/services/GrouperService.GrouperServiceHttpSoap12Endpoint/', soapaction => 'urn:findGroups', namespace => 'http://soap.ws.grouper.middleware.internet2.edu/xsd', parameters => [ SOAP::Data->new(name => 'clientVersion', type => 'xs:string', attr => {}), SOAP::Data->new(name => 'wsQueryFilter', type => 'ns:WsQueryFilter', attr => {}), SOAP::Data->new(name => 'actAsSubjectLookup', type => 'ns:WsSubjectLookup', attr => {}), SOAP::Data->new(name => 'includeGroupDetail', type => 'xs:string', attr => {}), SOAP::Data->new(name => 'params', type => 'ns:WsParam', attr => {}), ], # end parameters }, # end findGroups ); # end my %methods #### my $xml = "$params{groupname}$params{queryfiltertype}"; my $elem = SOAP::Data->type('xml' => $xml); my $result= $grouper->findGroups($params{clientversion}, $elem, '', 'T' ); #### v1_4_001 T