It seems like the problem resides in the "tag" method of the SOAP::Serializer (lines 1378-1379 in SOAP/Lite.pm)
The pattern should be defines as lookback and not lookahead:
The lines:
die "Element '$tag' can't be allowed in valid XML message. Died."
if $tag !~ /^(?![xX][mM][lL])$SOAP::Constants::NSMASK$/o;
should be changed to:
die "Element '$tag' can't be allowed in valid XML message. Died."
if $tag !~ /^(?<![xX][mM][lL])$SOAP::Constants::NSMASK$/o;
Logged In: YES
user_id=884175
Originator: NO
Hi Shachar,
could you please tell what you tried to do, and what failed?
Thanks,
Martin
Logged In: YES
user_id=1439680
Originator: YES
Installed EPIC on Eclipse (http://sourceforge.net/projects/e-p-i-c) and tried to debug a basic web service call. The call failed with the following error:
Element 'portal' can't be allowed in valid XML message. Died.
(portal is a member of one of the arguments).
We are using a serializer to set the types of the parameters, but it failed before it got to the our serializer code.
When I run the same code not in a debugger it seems to run just fine.
Logged In: YES
user_id=884175
Originator: NO
Hi Shachar,
what error message did you get?
Martin
Logged In: YES
user_id=884175
Originator: NO
Sorry, just overlooked the error message.
Did changing the pattern to a lookback help?
Martin
Logged In: YES
user_id=884175
Originator: NO
Changing to a lookback pattern breaks the test for assuring the tag in question doesn't start with >xml< (in ay case). It looks like the EPIC debugger confuses SOAP::Lite to forget about $SOAP::Constants::NSMASK.
Debugging the attached script with the perl debugger works without errors, so this is probably something in EPIC's debugger.
Martin
File Added: Serializer.t
Logged In: YES
user_id=1439680
Originator: YES
I have tried changing the $SOAP::Constants::NSMASK in the relevant line to [a-zA-Z_:][\w.\-:]* and I still get the same error message. So it does not forget about $SOAP::Constants::NSMASK.
The example you submitted works well with the EPIC as well.
See the attached test.pl file for example & output
File Added: test.pl