view release on metacpan or search on metacpan
characters
! fixed problem with XMLRPC and nested packages with more than two
levels (thanks to Leonid Gernovski)
! fixed (again) memory leak in SOAP::Parser (thanks to Craig
Johnston)
+ updated Jabber interface for new format of 'use Net::Jabber ...'
does not work with Net::Jabber 1.022 and later
+ updated XMLRPC::Lite to not detect value as float for 'NaN' and
'INF' strings
+ updated XMLRPC::Lite to return 200OK on errors
+ updated XMLRPC do not specify charset in content-type
+ updated Makefile.PL to allow configuration from command line
(thanks to Dana Powers)
+ updated publishing API tests for UDDI server to call a new server
(GLUE)
+ changed close() to shutdown() in Daemon transport (thanks to Sean
Meisner)
+ added support for HTTP_proxy and HTTP_proxy_* in WSDL access
(thanks to Stephen Shortland)
+ added XMLRPC support in COM interface. XMLRPC client and server
can be created using COM interface
+ included FastCGI transport (thanks to Marko Asplund)
+ added support for APOP authentication in POP3 transport
+ added Encoding parameter for MAILTO transport (to choose
base64/binary)
+ added 'autoresult' option (thanks to Mathieu Longtin)
+ added support for import directive in WSDL
+ added support for short (tModel) WSDL service descriptions
+ added support for multiple services/ports and allowed non-SOAP
bindings in WSDL
+ added full search example UDDI->WSDL->SOAP (fullsearch.pl)
+ added charset in response message for HTTP transport
+ modified SOAPsh/XMLRPCsh to return all parameters (thanks to Chris
Davies)
+ modified dispatch for XMLRPC server to work exactly as for SOAP
server examples included in examples/XMLRPC directory
+ added example with Inline::C module (inline.daemon).
Dispatch to C, C++, assembler, Java, Python and Tcl :).
Thanks to Brian Ingerson for his Inline module.
+ all transport are available for both SOAP::Lite and XMLRPC::Lite:
HTTP (daemon, CGI, mod_perl), SMTP/POP3, TCP, IO, JABBER, MQ
+ updated INCOMPATIBILITY section in README file
(XML::DOM)
+ added XMLRPC::Lite (XMLRPC client and server interface)
all transports and features of SOAP::Lite should be available
+ added XMLRPC interactive shell (XMLRPCsh.pl)
+ added dispatching based on URI and SOAPAction (dispatch_with)
+ added dispatching to object (in addition to class/method)
+ added dispatch from specific class(es) (dispatch_from)
+ added limited support for mustUnderstand and actor attributes
+ added SOAP::Fault class for customization of returning Fault
message
+ added charset in HTTP header for requests
+ added check for namespace and types resolving
+ added namespaces declarations from WSDL interface
+ added INCOMPATIBILITY section in README file
+ added live tests/examples for UDDI publishing interface
+ added live tests/examples for basic authentication
+ added XMLRPC server code that validates with Userland's validator
+ added more examples, tests and documentation
0.47 Wed Feb 21 17:11:12 2001
! fixed lack of parameter in MAILTO transport
Debian_CPANTS.txt view on Meta::CPAN
"libhttp-request-ascgi-perl", "HTTP-Request-AsCGI", "1.2", "0", "0"
"libhttp-request-params-perl", "HTTP-Request-Params", "1.01", "0", "0"
"libhttp-response-encoding-perl", "HTTP-Response-Encoding", "0.05", "0", "0"
"libhttp-server-simple-mason-perl", "HTTP-Server-Simple-Mason", "0.14", "0", "1"
"libhttp-server-simple-perl", "HTTP-Server-Simple", "0.44", "1", "1"
"libhttp-server-simple-psgi-perl", "HTTP-Server-Simple-PSGI", "0.14", "0", "0"
"libhttp-server-simple-recorder-perl", "HTTP-Server-Simple-Recorder", "0.03", "0", "0"
"libhttp-server-simple-static-perl", "HTTP-Server-Simple-Static", "0.07", "0", "0"
"libhttp-tiny-perl", "HTTP-Tiny", "0.012", "0", "1"
"libi18n-acceptlanguage-perl", "I18N-AcceptLanguage", "1.04", "0", "0"
"libi18n-charset-perl", "I18N-Charset", "1.396", "0", "1"
"libical-parser-perl", "iCal-Parser", "1.16", "0", "0"
"libima-dbi-contextual-perl", "Ima-DBI-Contextual", "0.006", "0", "0"
"libima-dbi-perl", "Ima-DBI", "0.35", "0", "1"
"libimage-exif-perl", "Image-EXIF", "1.00.3", "1", "3"
"libimage-librsvg-perl", "Image-LibRSVG", "0.07", "0", "1"
"libimage-math-constrain-perl", "Image-Math-Constrain", "1.02", "0", "0"
"libimage-seek-perl", "Image-Seek", "0.02", "0", "0"
"libimage-size-perl", "Image-Size", "3.230", "0", "2"
"libimager-perl", "Imager", "0.82", "0", "1"
"libimap-admin-perl", "IMAP-Admin", "1.6.6", "0", "1"
Debian_CPANTS.txt view on Meta::CPAN
"libmail-mbox-messageparser-perl", "Mail-Mbox-MessageParser", "1.5002", "0", "3"
"libmail-mboxparser-perl", "Mail-MboxParser", "0.55", "3", "1"
"libmail-rfc822-address-perl", "Mail-RFC822-Address", "0.3", "1", "0"
"libmail-sendeasy-perl", "Mail-SendEasy", "1.2", "1", "2"
"libmail-sendmail-perl", "Mail-Sendmail", "0.79.16", "1", "2"
"libmail-srs-perl", "Mail-SRS", "0.31", "0", "0"
"libmail-thread-perl", "Mail-Thread", "2.55", "0", "0"
"libmail-verp-perl", "Mail-Verp", "0.06", "0", "0"
"libmakefile-dom-perl", "Makefile-DOM", "0.004", "0", "1"
"libmakefile-parser-perl", "Makefile-Parser", "0.211", "0", "1"
"libmarc-charset-perl", "MARC-Charset", "1.31", "1", "0"
"libmarc-crosswalk-dublincore-perl", "MARC-Crosswalk-DublinCore", "0.02", "0", "0"
"libmarc-lint-perl", "MARC-Lint", "1.44", "0", "1"
"libmarc-perl", "MARC", "1.07", "0", "1"
"libmarc-record-perl", "MARC-Record", "2.0.3", "0", "0"
"libmarc-xml-perl", "MARC-XML", "0.92", "0", "0"
"libmasonx-interp-withcallbacks-perl", "MasonX-Interp-WithCallbacks", "1.18", "0", "0"
"libmath-algebra-symbols-perl", "Math-Algebra-Symbols", "1.21", "0", "1"
"libmath-base36-perl", "Math-Base36", "0.09", "0", "0"
"libmath-base85-perl", "Math-Base85", "0.2", "0", "0"
"libmath-basecalc-perl", "Math-BaseCalc", "1.016", "0", "0"
Debian_CPANTS.txt view on Meta::CPAN
"libmath-symbolic-perl", "Math-Symbolic", "0.606", "0", "1"
"libmath-vec-perl", "Math-Vec", "1.01", "0", "0"
"libmecab-perl", "http://qa.debian.org/watch/sf.php/mecab/mecab-perl-0.98.tar.gz", "0.98", "0", "0"
"libmediawiki-api-perl", "MediaWiki-API", "0.35", "0", "0"
"libmemoize-expirelru-perl", "Memoize-ExpireLRU", "0.55", "0", "0"
"libmemoize-memcached-perl", "Memoize-Memcached", "0.03", "0", "1"
"libmethod-alias-perl", "Method-Alias", "1.03", "0", "0"
"libmethod-signatures-simple-perl", "Method-Signatures-Simple", "0.06", "0", "1"
"libmime-base32-perl", "MIME-Base32", "1.02a", "0", "0"
"libmime-base64-urlsafe-perl", "MIME-Base64-URLSafe", "0.01", "0", "0"
"libmime-charset-perl", "MIME-Charset", "1.008.1", "0", "1"
"libmime-encwords-perl", "MIME-EncWords", "1.012", "0", "1"
"libmime-explode-perl", "MIME-Explode", "0.38", "0", "0"
"libmime-lite-perl", "MIME-Lite", "3.027", "4", "0"
"libmime-tools-perl", "MIME-tools", "5.502", "2", "1"
"libmime-types-perl", "MIME-Types", "1.30", "1", "0"
"libmixin-extrafields-param-perl", "Mixin-ExtraFields-Param", "0.011", "0", "0"
"libmixin-extrafields-perl", "Mixin-ExtraFields", "0.008", "0", "0"
"libmixin-linewise-perl", "Mixin-Linewise", "0.003", "0", "0"
"libmkdoc-xml-perl", "MKDoc-XML", "0.75", "0", "0"
"libmldbm-perl", "MLDBM", "2.04", "0", "0"
SOAP::Lite client with a .NET server
If experiencing problems when using a SOAP::Lite client to call a .NET
Web service, it is recommended you check, or adhere to all of the
following recommendations:
Declare a proper soapAction in your call
For example, use "on_action( sub {
'http://www.myuri.com/WebService.aspx#someMethod'; } )".
Disable charset definition in Content-type header
Some users have said that Microsoft .NET prefers the value of the
Content-type header to be a mimetype exclusively, but SOAP::Lite
specifies a character set in addition to the mimetype. This results
in an error similar to:
Server found request content type to be 'text/xml; charset=utf-8',
but expected 'text/xml'
To turn off this behavior specify use the following code:
use SOAP::Lite;
$SOAP::Constants::DO_NOT_USE_CHARSET = 1;
# The rest of your code
Use fully qualified name for method parameters
For example, the following code is preferred:
examples/terraserver.pl view on Meta::CPAN
#!perl -w
#!d:\perl\bin\perl.exe
# -- SOAP::Lite -- soaplite.com -- Copyright (C) 2001 Paul Kulchenko --
# example for Microsoft's TerraServer http://terraserver.microsoft.net/
# thanks to Ivan R. Judson <judson@mcs.anl.gov> for his help
use SOAP::Lite;
# terraserver doesn't like charset in content-type
$SOAP::Constants::DO_NOT_USE_CHARSET = 1;
my $terra = SOAP::Lite
->proxy('http://terraserver.microsoft.net/TerraService.asmx')
->on_action(sub { join '/', 'http://terraservice.net/terraserver', $_[1] })
->uri('http://tempuri.org/')
;
my $response = $terra->GetTheme(SOAP::Data->name(theme => 'Photo'));
lib/SOAP/Lite.pm view on Meta::CPAN
service, it is recommended you check, or adhere to all of the following
recommendations:
=over 4
=item Declare a proper soapAction in your call
For example, use
C<on_action( sub { 'http://www.myuri.com/WebService.aspx#someMethod'; } )>.
=item Disable charset definition in Content-type header
Some users have said that Microsoft .NET prefers the value of
the Content-type header to be a mimetype exclusively, but SOAP::Lite specifies
a character set in addition to the mimetype. This results in an error similar
to:
Server found request content type to be 'text/xml; charset=utf-8',
but expected 'text/xml'
To turn off this behavior specify use the following code:
use SOAP::Lite;
$SOAP::Constants::DO_NOT_USE_CHARSET = 1;
# The rest of your code
=item Use fully qualified name for method parameters
lib/SOAP/Transport/HTTP.pm view on Meta::CPAN
$http_request->content_encoding(
$SOAP::Transport::HTTP::Client::COMPRESS)
if $compressed;
if ( !$http_request->content_type ) {
$http_request->content_type(
join '; ',
$SOAP::Constants::DEFAULT_HTTP_CONTENT_TYPE,
!$SOAP::Constants::DO_NOT_USE_CHARSET && $encoding
? 'charset=' . lc($encoding)
: () );
}
elsif ( !$SOAP::Constants::DO_NOT_USE_CHARSET && $encoding ) {
my $tmpType = $http_request->headers->header('Content-type');
# $http_request->content_type($tmpType.'; charset=' . lc($encoding));
my $addition = '; charset=' . lc($encoding);
$http_request->content_type( $tmpType . $addition )
if ( $tmpType !~ /$addition/ );
}
$http_request->content_length($bytelength) unless $compressed;
SOAP::Trace::transport($http_request);
&{$self->{debug_logger}}($http_request->as_string);
$self->SUPER::env_proxy if $ENV{'HTTP_proxy'};
lib/SOAP/Transport/HTTP.pm view on Meta::CPAN
$self->response(
HTTP::Response->new(
$code => undef,
HTTP::Headers->new(
'SOAPServer' => $self->product_tokens,
$compressed ? ( 'Content-Encoding' => $COMPRESS ) : (),
'Content-Type' => join( '; ',
'text/xml',
!$SOAP::Constants::DO_NOT_USE_CHARSET
&& $encoding ? 'charset=' . lc($encoding) : () ),
'Content-Length' => SOAP::Utils::bytelength $response
),
$response,
) );
$self->response->headers->header( 'Content-Type' =>
'Multipart/Related; type="text/xml"; start="<main_envelope>"; boundary="'
. $is_multipart
. '"' )
if $is_multipart;
t/03-server.t view on Meta::CPAN
<c-gensym7 xsi:type="xsd:int">5</c-gensym7>
</namesp1:add>
</soap:Body>
</soap:Envelope>
EOM
'singlepart MIME' => <<'EOM',
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<calc061400a.xml@soaplite.com>"
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <calc061400a.xml@soaplite.com>
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<soap:Body>
t/03-server.t view on Meta::CPAN
</soap:Body>
</soap:Envelope>
--MIME_boundary--
EOM
'multipart MIME' => <<'EOM',
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<calc061400a.xml@soaplite.com>"
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <calc061400a.xml@soaplite.com>
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<soap:Body>
t/03-server.t view on Meta::CPAN
Content-ID: <calc061400a.b@soaplite.com>
5
--MIME_boundary--
EOM
'multipart MIME w/multiref' => <<'EOM',
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<calc061400a.xml@soaplite.com>"
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <calc061400a.xml@soaplite.com>
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<soap:Body>
t/04-attach-cid-encoded.t view on Meta::CPAN
$soap->init_context();
##############################################################################
print "Attachment deserialization (Content-ID) test(s)...\n";
$a = $soap->deserializer->deserialize(<<'EOX');
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<claim061400a.xml@claiming-it.com>"
SOAPAction: http://schemas.risky-stuff.com/Auto-Claim
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <claim061400a.xml@claiming-it.com>
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
xmlns:claim="http://schemas.risky-stuff.com/Auto-Claim">
t/04-attach-cid-encoded.t view on Meta::CPAN
ok(ref $a && $a->valueof('//realxml')->{b} eq 'c');
##############################################################################
print "Attachment deserialization (Content-ID and Content-Location) test(s)...\n";
$a = $soap->deserializer->deserialize(<<'EOX');
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<http://claiming-it.com/claim061400a.xml>"
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <http://claiming-it.com/claim061400a.xml>
Content-Location: http://claiming-it.com/claim061400a.xml
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
t/04-attach-cid-encoded.t view on Meta::CPAN
print "Attachment deserialization (relative Content-Location) test(s)...\n";
# TODO - this unit test breaks - it does not seem to be picking up a base location
# from outer Content-Location
eval { $a = $soap->deserializer->deserialize(<<'EOX'); };
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<http://claiming-it.com/claim061400a.xml>"
Content-Description: This is the optional message description.
Content-Location: http://claiming-it.com/
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <http://claiming-it.com/claim061400a.xml>
Content-Location: claim061400a.xml
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
t/04-attach-cid-encoded.t view on Meta::CPAN
ok(ref $a && $a->valueof('//theSignedForm') =~ /binary TIFF image/);
##############################################################################
print "Attachment deserialization (no default Content-Location) test(s)...\n";
$a = $soap->deserializer->deserialize(<<'EOX');
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<b6f4ccrt@15.4.9.92/s445>"
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <b6f4ccrt@15.4.9.92/s445>
Content-Location: claim061400a.xml
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
t/04-attach.t view on Meta::CPAN
$soap->init_context();
##############################################################################
print "Attachment deserialization (Content-ID) test(s)...\n";
$a = $soap->deserializer->deserialize(<<'EOX');
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<claim061400a.xml@claiming-it.com>"
SOAPAction: http://schemas.risky-stuff.com/Auto-Claim
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <claim061400a.xml@claiming-it.com>
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
xmlns:claim="http://schemas.risky-stuff.com/Auto-Claim">
t/04-attach.t view on Meta::CPAN
##############################################################################
print
"Attachment deserialization (Content-ID and Content-Location) test(s)...\n";
$a = $soap->deserializer->deserialize(<<'EOX');
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<http://claiming-it.com/claim061400a.xml>"
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <http://claiming-it.com/claim061400a.xml>
Content-Location: http://claiming-it.com/claim061400a.xml
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
t/04-attach.t view on Meta::CPAN
# TODO - this unit test breaks - it does not seem to be picking up a base location
# from outer Content-Location
eval {
$a = $soap->deserializer->deserialize(<<'EOX'); };
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<http://claiming-it.com/claim061400a.xml>"
Content-Description: This is the optional message description.
Content-Location: http://claiming-it.com/
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <http://claiming-it.com/claim061400a.xml>
Content-Location: claim061400a.xml
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
t/04-attach.t view on Meta::CPAN
##############################################################################
print
"Attachment deserialization (no default Content-Location) test(s)...\n";
$a = $soap->deserializer->deserialize(<<'EOX');
MIME-Version: 1.0
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<b6f4ccrt@15.4.9.92/s445>"
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <b6f4ccrt@15.4.9.92/s445>
Content-Location: claim061400a.xml
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
t/04-attach.t view on Meta::CPAN
$soap->init_context();
##############################################################################
print "Attachment deserialization (Nested Attachment) test(s)...\n";
$a = $soap->deserializer->deserialize(<<'EOX');
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<claimstart.xml@claiming-it.com>"
SOAPAction: http://schemas.risky-stuff.com/Auto-Claim
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <claimstart.xml@claiming-it.com>
<?xml version='1.0' ?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<claim:insurance_claim_auto
id="insurance_claim_document_id"
xmlns:claim="http://schemas.risky-stuff.com/Auto-Claim">
t/38-packager.t view on Meta::CPAN
ok(ref $mp);
# check attachment deserialization
print "Attachment deserialization (Content-ID) test(s)...\n";
$env = $mp->unpackage(<<'EOX');
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"; start="<claim061400a.xml@claiming-it.com>"
SOAPAction: http://schemas.risky-stuff.com/Auto-Claim
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <claim061400a.xml@claiming-it.com>
<?xml version='1.0' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<claim:insurance_claim_auto id="insurance_claim_document_id"
xmlns:claim="http://schemas.risky-stuff.com/Auto-Claim">
<theSignedForm href="cid:claim061400a.tiff@claiming-it.com"/>
t/38-packager.t view on Meta::CPAN
#@part_data = $mp->find_part( id => '<claim061402a.jpeg@claiming-it.com>' );
#ok($part_data[0] eq '...Raw JPEG image..');
#@part_data = $mp->find_part( id => '<claim061403a.somexml@claiming-it.com>' );
#ok($part_data[0] eq '<a><b>c</b></a>');
#@part_data = $mp->find_part( id => '<claim061404a.realxml@claiming-it.com>' );
#ok($part_data[0] eq '<a><b>c</b></a>');
# Test: no start parameter specified
# Content-ID: <claim061400a.xml@claiming-it.com>
# Content-Type: text/xml; charset=UTF-8
$env = $mp->unpackage(<<'EOX');
Content-Type: Multipart/Related; boundary=MIME_boundary; type="text/xml"
SOAPAction: http://schemas.risky-stuff.com/Auto-Claim
Content-Description: This is the optional message description.
--MIME_boundary
Content-Transfer-Encoding: 8bit
<?xml version='1.0' ?>
<SOAP-ENV:Envelope
t/38-packager.t view on Meta::CPAN
SOAPAction: http://schemas.risky-stuff.com/Auto-Claim
Content-Description: This is the optional message description.
--MIME_boundary
Content-Type: text/plain
Content-Transfer-Encoding: binary
Content-ID: <claim061403a.somexml@claiming-it.com>
<a><b>c</b></a>
--MIME_boundary
Content-Type: text/xml; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-ID: <claim061400a.xml@claiming-it.com>
<?xml version='1.0' ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<claim:insurance_claim_auto id="insurance_claim_document_id"
xmlns:claim="http://schemas.risky-stuff.com/Auto-Claim">
<theSignedForm href="cid:claim061400a.tiff@claiming-it.com"/>