I'm having some problems getting the '_call' function to properly use the parameters being passed to it. I don't think the problem is specific to stubmaker, SOAP::Lite or my .pm, just that I'm still very new to Perl. Any help or insight is appreciated!

Snippet from 'Mercury.pm':
my %methods = ( ActivateLicense => { endpoint => '<valid endpoint>', soapaction => '<valid soap action>', namespace => '<valid namespace>', parameters => [ SOAP::Data->new(name => 'timestamp', type => 'tns:timestamp', at +tr => {}), SOAP::Data->new(name => 'guid', type => 'tns:guid', attr => {}), SOAP::Data->new(name => 'machineName', type => 'tns:machineName' +, attr => {}), ], # end parameters }, # end ActivateLicense )

I'm not attaching the '_call' function as I believe it should be the same for all stubmaker.pl created .pm's, but I can post it if necessary.

Snippet from 'validate.pl':
my %foo = Mercury::ActivateLicense( timestamp => $s{timestamp}, guid => $s{guid}, machineName => $s{machineName} );
The $s{*} keys have sane values, and if I put in some debugging statements, I am able to see that these parameters were received as an array in Mercury.pm. SOAP envelope created:
<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:ns="http:// +schemas.xmlsoap.org/soap/encoding/" soap:encodingStyle="http://schema +s.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/ +soap/envelope/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:x +si="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="<valid name +space>" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><tns: +Activate><timestamp xsi:nil="true" xsi:type="tns:timestamp" /><guid x +si:nil="true" xsi:type="tns:guid" /><machineName xsi:nil="true" xsi:t +ype="tns:machineName" /></tns:ActivateLicense></soap:Body></soap:Enve +lope>
Using soapUI with the same .wsdl that created Mercury.pm, this is the envelope that is created:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envel +ope/" xmlns:mer="<valid namespace>"> <soapenv:Header> </soapenv:Header> <soapenv:Body> <mer:Activate systemId="?"> <timestamp>TIMESTAMP</timestamp> <guid>GUID</guid> <machineName>FOO</machineName> </mer:ActivateLicense> </soapenv:Body> </soapenv:Envelope
I know that even once I get Mercury.pm to put the correct parameters from validate.pl into the SOAP envelope, there is still an issue with my schema. I can work through that, but I'm stuck on actually getting the data I'm passing to be used.

In reply to using a .pm created by stubmaker.pl by chorankates

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.