TomJones has asked for the wisdom of the Perl Monks concerning the following question:
I have one question. After the POST operationSoap::Lite Soap::MIME MIME::Enity
is there an easy way to do thisSOAP::Transport::HTTP::Client::send_receive: POST http://10.236.137.7: +10021/vas_soap HTTP/1.1 Accept: text/xml Accept: multipart/* Content-Length: 2810 Content-Type: text/xml SOAPAction: "" <CODE> but I need Content-Type to be multipart/related; boundary="soap-border +"; type="text/xml" start="Test"
#!/opt/perl5/bin/perl ############################################# # # V0.2 # Soap04.pl ############################################## #use SOAP::Lite maptype => {}; use SOAP::Lite +trace; use SOAP::MIME; use MIME::Entity; $SOAP::Constants::DO_NOT_USE_CHARSET = 1; #Soap variables #my $cid = "Test"; #my $ent = MIME::Entity->build(Boundary => "soap-boarder", Type => "mu +ltipart/related", 'Content-Id' =>"<$cid>"); my $service = SOAP::Lite -> uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140 +/schema/REL-5-MM7-1-2') -> on_action(sub { return "\"\""; }) #-> parts($ent) -> proxy('http://10.236.137.7:10021/vas_soap'); my $method = SOAP::Data -> name('SubmitReq') -> attr({xmlns => 'http://www.3gpp.org/ftp/Specs/archive/23_se +ries/23.140/schema/REL-5-MM7-1-2'}); my $tx_header = SOAP::Header->name("TransactionID" => 'TransID')->must +Understand(1); my @params = ( $tx_header, SOAP::Data->name(MM7Version => '4.3.0') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name(SenderIdentification => '') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( VASPID => '') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( SenderAddress => '') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( Recipients => '') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( To => '') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( ServiceCode => '') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( LinkedID => '') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( MessageClass => 'Personal') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( DeliveryReport => 'False') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( ReadReply => 'False') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( Priority => 'Normal') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( Subject => 'TestSoap') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), SOAP::Data->name( Content_href => 'MIME') ->uri('http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/ +schema/REL-5-MM7-1-2'), "Line", 600, ); my $result = $service->call($method => @params); if ($result->fault) { print $result->faultstring; } else { print $result->valueof('//SubmitReq/MM7Version'); }
|
|---|