Fellow monks.. again I am coming to the holy ones for help or at least some guidance.

I am trying to talk to a .NET web service via SOAP and I am using SOAP::Lite as is the way of all monks. However I am running into a problem that is confounding me. I assume it is my lack of knowledge on the matter, but let me set up the scenario for you.

The service is called Check status. It has an XML signature in my documentation that looks like this:
<TRANSACTION><CAIC>12345</CAIC></TRANSACTION>

Simple as it is I only have to send in my request to the SOAP WSDL server and recieve a response that should look thusly:
<RESPONSE><RESPONSECODE>00</RESPONSECODE></RESPONSE>

Silly me to think this would be so simple. As it turns out the string that must be sent them needs to be TripleDES encrypted as well. Ok this does not seem so bad yet. I was even provided a wonderful VB example that should clear all things up. So I go about trying to make this call and nothing seems to work. I have included a sample of my code in question so that it can be crtiqued, questioned, derided or what have you. However I do hope that some answers might be able to come out of this.

Of note is that I am not given all the data I think I need, so please if something is missing I will provide it. However the USERNAME and PASSWORD plus the TripleDES keys I cannot.

#!/usr/bin/perl use strict; use Crypt::TripleDES; use SOAP::Lite maptype => {}; my $lite; my $tDES1 = "1234567890123456"; my $tDES2 = "1234567890123456"; my $tDES3 = "1234567890123456"; my $passcode = $tDES1 . $tDES2 . $tDES3; my $CAIC = "123456"; my $des = new Crypt::TripleDES; my $namespace = 'https://wstest.solspark.com/'; # The URI/proxy may be different. $lite = SOAP::Lite -> uri($namespace) -> on_action( sub { join '/', 'https://wstest.solspark.com', $_[1] } + ) -> proxy('https://USERNAME:PASSWORD@wstest.solspark.com'); my $s = ""; $s = $des->encrypt3($s, $passcode); print "Encoded value: $s \n"; print $lite->CheckStatus($s, $CAIC)->result . "\n";


I have tried various values for $s above as well. I have tried using SOAP::DATA hashes. Above is about as simple as I can make what I am doing. I have scoured some of the links in forums and on this wonderful site. I even have tried best to make sense of the PERL CPAN DOC. While English is not my native language, I am proficient enoguh at it to be confused by what I read.

Please if anyone has a clue I would be most appreciative. Right now I only get blank lines as a response unless I use the service a (WSDL) and then I get login errors.
Oh the service can be found here:
# https://USER:PASS@wstest.solspark.com/SSVPWebService.WSDL

Sincerely,
Akira

In reply to SOAP and .NET Web Services by Akira71

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.