in reply to XML::Compile not mapping my params hash

G'day jdudleyh,

Firstly, a disclaimer: I'm not a user of XML::Compile.

Some issues:

Assuming <SOAP-ENV:Header/> and <SOAP-ENV:Body/> should contain some values and the warnings are indicating unused values, could the problem lie with your %params hash? If so, my guess would be problems with either the structure of the hash or the keys (maybe capitalisation or embedded whitespace). Use Data::Dumper to look at the hash; set $Data::Dumper::Useqq to find spurious characters.

If that doesn't help, addressing the issues raised may result in better answers.

-- Ken

Replies are listed 'Best First'.
Re^2: XML::Compile not mapping my params hash
by markov (Scribe) on Feb 05, 2014 at 13:00 UTC

    "explain" is called on the WSDL object, so the doc is in XML::Compile::WSDL11

    You can find more info in the $trace object.

Re^2: XML::Compile not mapping my params hash
by Anonymous Monk on Feb 05, 2014 at 10:35 UTC
Re^2: XML::Compile not mapping my params hash
by jdudleyh (Acolyte) on Feb 06, 2014 at 01:47 UTC

    I have read the guidelines on how to post effective questions a priori.

    The warning I quoted is the actual message minus the data element names in the Header hash that were appended to the end. I suppose I could have appended "element1, element2, ...".

    I'd love to share the code so others can reproduce my problem but it's divided into multiple modules, with WSDLs, data pulled in from Excel worksheets, etc. The WSDLs are not something my employer would want on public forums.

    Yes I could simplify the WSDL to hide the data structure, create inline sample data, simplify the code, and post it here in hopes of an answer. My approach however is to avoid that nontrivial effort and simply ask if someone might be familiar with this behavior or have more debugging insights.

    Thanks for your suggestions. The keys of the hash are exact with no spurious characters.

Re^2: XML::Compile not mapping my params hash
by Anonymous Monk on Feb 05, 2014 at 10:39 UTC

    Use Data::Dumper to look at the hash; set $Data::Dumper::Useqq to find spurious characters.

    :D

    sub dd { use Data::Dumper; print Data::Dumper->new([@_])->Sortkeys(1) ->Indent(1)->Useqq(1)->Dump . "\n"; }