I'm not sure if this helps but in my system I have to transmit , receive and process the raw XML data within the Body of the SOAP packet:
my $response = $service->transport->send_receive(
envelope => $envelope
);
Where the $envelope is the XML I have created (This is the whole thing, envelope/head/body).
I also have to deal with multiple attachments and had little luck getting SOAP::Attachments to work with the Sun Java libraries. I just used Mime::Parser and determined the content type, parts (etc)
my $entity = $parser->parse_data($response);
You can then do this:
# We have some parts - one XML at least
my $num_parts = $entity->parts;
# No guarantee of order
for(my $i = 0; $i < $num_parts; $i++)
{
my $part = $entity->parts($i);
if($part->mime_type eq 'text/xml')
{
# Do stuff with XML
}
else
{
$datatype = $part->mime_type;
# Do stuff with attachment
}
}
I hasten to add I didn't like the fact I couldn't use a SOAP::* module but I had immense difficulty (at the time) getting SOAP::Lite and Sun to play together anyother way (this was a year ago btw).
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: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.