#### using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.Text; using Company.Department.Project.BusinessEntities; using Company.Department.ProjectB.BusinessLogic; using Company.Department.ProjectB.BusinessEntities; namespace Company.Department.Project.WCFService { [ServiceContract(Name = "Company.Department.Project.WCFService.ProjectService", Namespace = "http://projectservice.department.company.com/")] public interface IProjectService { [OperationContract(Name="GetWorkOrderList")] List GetWorkOrderList(string siteId); [OperationContract(Name="GetWorkOrder")] BEWorkOrder GetWorkOrder(string woName, string siteId); [OperationContract(Name="ReturnStatus")] string ReturnStatus(); } } #### #!/usr/bin/perl -w use strict; use SOAP::Lite; my $url = 'http://MYSERVER-NAME:8732/Company.Department.Project.ProjectService.ProjectService/?wsdl'; my $uri = 'http://tempuri.org/'; my $xmlns = 'http://tempuri.org/'; # Setup Network Connection my $soap = SOAP::Lite -> uri($uri) -> on_action(sub{sprintf '%sIProjectService/%s', @_}) -> proxy($url); my $response = $soap->GetWorkOrderList(SOAP::Data->new(name=>'siteId', value=>'BKK')); if($response->fault){ die $response->faultstring; } else{ print $response->result; }