####
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;
}