in reply to soap::lite - Can't call method "dataof" on unblessed reference

$tmp_data is not an object, so you can't call methods on it. Try dumping $tmp_data and see what it looks like.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^2: soap::lite - Can't call method "dataof" on unblessed reference
by fritz1968 (Sexton) on Aug 14, 2012 at 14:35 UTC
    Here is the dumped output of tmp_data:
    $VAR1 = { 'fetchAndLockResponse' => { 'request' => { 'priority' => '1', 'provider' => 'homeFolderWin', 'locked' => 'true', 'externalId' => 'homefoldertest1241', 'actionTime' => '2012-07-13T16:20:34.993Z', 'state' => 'PLACED', 'client' => 'TESTING', 'externalParentId' => 'TODO', 'action' => 'bestMatch', 'arguments' => { 'name' => 'domain', 'valueString' => 'NAEAST' }, 'id' => '210', 'lockedTimes' => '70', 'result' => 'NONE' } } };

    Interestingly enough, dumper misses some code that is part of the original soap:Envelope:

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> +<soap:Body ><fetchAndLockResponse xmlns="http://myid.jpmchase.net/request/service +/3"><reque st><id>210</id><client>TESTING</client><externalId>homefoldertest1241< +/externalI d><externalParentId>TODO</externalParentId><provider>homeFolderWin</pr +ovider><ac tion>bestMatch</action><priority>1</priority><actionTime>2012-07-13T16 +:20:34.993 Z</actionTime><state>PLACED</state><result>NONE</result><locked>true</ +locked><lo ckedTimes>70</lockedTimes><arguments><name>sid</name><valueString>F030 +624</value String></arguments><arguments><name>domain</name><valueString>NAEAST</ +valueStrin g></arguments></request></fetchAndLockResponse></soap:Body></soap:Enve +lope>

    cleaning up the above and making it readable, we see:

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <fetchAndLockResponse xmlns="http://myid.jpmchase.net/request/ +service/3"> <request> <id>210</id> <client>TESTING</client> <externalId>homefoldertest1241</externalId> <externalParentId>TODO</externalParentId> <provider>homeFolderWin</provider> <action>bestMatch</action> <priority>1</priority> <actionTime>2012-07-13T16:20:34.993Z</actionTime> <state>PLACED</state> <result>NONE</result> <locked>true</locked> <lockedTimes>43</lockedTimes> <arguments> <name>sid</name> <valueString>F030624</valueString> </arguments> <arguments> <name>domain</name> <valueString>NAEAST</valueString> </arguments> </request> </fetchAndLockResponse> </soap:Body> </soap:Envelope>

    note the two sets of "arguments". what I need out of all of the above code is just ID (which is 210), and the valuestring for SID (which is F030624) and the valuestring for domain (which is NAEAST). any ideas would be greatly appreciated.</code>