SOAP-Lite

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

    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

Changes  view on Meta::CPAN

  + 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

Changes  view on Meta::CPAN

    (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"

README  view on Meta::CPAN


  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"/>



( run in 0.478 second using v1.01-cache-2.11-cpan-a5abf4f5562 )