Generally there are two things you should be aware of when having Perl interact with MOSS: 1. Suitable encoding of your SOAP parameters; 2. Provide WSDL for your webservice in the style of .NET-Webservices (suffixed ?wsdl-thing); and you should be fine. You could combine functionality of existing modules like SOAP::Lite and SOAP::WSDL. You can start e.g. with an instance of your own HTTP-Server (or proxy-class or simply use wireshark) to analyze the details of the web-requests made by the BDC to query your webservice. Hope this provides you some help.