Skip to main content

building SOAP object in perl to call a web service

Follows an example perl script snippet structure to build SOAP object to call a web service

  1. Use the required library

    use SOAP::Lite +trace => 'debug';
  2. Define the SOAP object

    my $soap = SOAP::Lite
                       -> uri('http://localhost:1325/WSImpl/')
                       -> on_action( sub { return '"http://www.example.com/ws/MaterialService:updateMaterialIn"' } )
                       -> proxy('http://localhost:1325/WSImpl/MaterialService.asmx')
                       -> on_fault(sub { my($soap, $res) = @_;
                 die ref $res ? $res->faultdetail : $soap->transport->status, "\n";
               });
  3. Define the SOAP method

    my $method = SOAP::Data->name('UpdateMaterialRequest')
                ->attr({xmlns => 'http://www.example.com/ws/MaterialService'});
  4. Build the SOAP query data

    my $query = SOAP::Data->value(
        SOAP::Data->name(ServiceTags =>
        \SOAP::Data->value(
          SOAP::Data->name(UserName => ''),
          SOAP::Data->name(Pwd => ''))),
          SOAP::Data->name(Details =>
            \SOAP::Data->value(
             SOAP::Data->name(DetailsName => Name )
            )
          )
        ); 
  5. Make the Call

    $result = $soap->call($method => $query);
  6. Read the resultant data

    my $statusmes = $result->valueof('//GetResponse/Status');

Comments

Popular posts from this blog

VBScript for URL link creation

We had a need to create URL link of our project on users's desktop using a script. First stage the users had enough rights on their PC's so we included the required icon file also with the script and passed the following VBScript to users to click on it to create the desktop icon link. ' Definie shell object Set objWSHShell = WScript.CreateObject("Wscript.Shell") strDesktop = objWSHShell.SpecialFolders("Desktop") ' Copy the icon file to windows Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFileCopy = objFSO.GetFile( objWSHShell.CurrentDirectory&"\icon.ico") objFileCopy.Copy ("C:\WINDOWS\system32\") ' Define link properties and create link strShortcutName = "Log In" ' Shortcut Name - Edit for the wanted name strShortcutPath = "http://thesystem.com/Login.aspx" ' Link URL - Edit to the wanted URL strIconPath = "C:\WINDOWS\syst...

MySQL Dump cronjob on linux server

Creating mysql dump for production databases is very important. In case of any failure or malefic attack on DB, The only way to restore to previous state is by having proper mysql dump file. Follows an example mysql dump shell script with auto naming with dumping time stamp. Its important to create the shell scripts in unix mode, if you create on a PC, It'll add some unwanted character encoding, and it'll lead to some erroneous response on the script. #!/bin/bash today=`date +%Y%m%d%H%M` backup="cmtdbbackup-$today.sql" mysqldump -u user -ppassword mydb > /apps/mysql_dump/$backup Its important to create the shell script carefully. No spaces, unless its required. in between -u and user name, there is a space, but no space between -p and password. As per the usage of system, we can decide on which interval the cronjob could be set. normally the format of a crontab entry is like the following. * * * * * /apps/scripts/scheduled_job.sh >> /dev/null 2>...

VBScript for compressing files in a folder and send on FTP

This is a simple vbscript compression script. works flawlessly on text files even bigger than 15GB. We have a SSIS data generation package installed on our DB server which generates huge data files for data mining operations for current year, current month. The below scripts are doing the rest; compress the files and FTP to the data mining server location.   '====================================================== ' Function : Zip datamart CSV, CTL files to local server for archive purposes. '====================================================== Function WindowsZip(sFile, sZipFile, szPath, szDate)   Set oZipShell = CreateObject("WScript.Shell")    Set oZipFSO = CreateObject("Scripting.FileSystemObject")   Set LogFile = oZipFSO.CreateTextFile(szPath & "\Logs\log_" & szDate & ".log", true)   LogFile.WriteLine("=======================================")   LogFile.WriteLine(Now & " - Com...