Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) Another SOAP with MTOM XOP Attachment ExampleSee more HTTP ExamplesDemonstrates another multipart/related MTOM SOAP request that adds additional headers in each MIME sub-part, and also specifies Content-Transfer-Encoding in the sub-parts. Note: This example requires Chilkat v9.5.0.92 or greater.
load ./chilkat.dll # Note: This example requires Chilkat v9.5.0.92 or greater. # This example sends a request such as the following: # POST /FseInsServicesWeb/services/fseComunicazioneMetadati HTTP/1.1 # Connection: Keep-Alive # Content-Length: 50649 # Content-Type: multipart/related; type="application/xop+xml"; start="<rootpart@soapui.org>"; start-info="text/xml"; boundary="----=_Part_0_355796458.1662133302632" # Accept-Encoding: gzip,deflate # Authorization: Basic xxxxx # Host: ... # SOAPAction: "http://comunicazionemetadati.wsdl.fse.ini.finanze.it/ComunicazioneMetadati" # MIME-Version: 1.0 # # ------=_Part_0_355796458.1662133302632 # Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" # Content-Transfer-Encoding: 8bit # Content-ID: <rootpart@soapui.org> # # <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://comunicazionemetadatirichiesta.xsd.fse.ini.finanze.it" xmlns:tip="http://tipodaticomunicazionemetadati.xsd.fse.ini.finanze.it"> # <soapenv:Header/> # ... # # ------=_Part_0_355796458.1662133302632 # Content-Type: text/xml; charset=Cp1252 # Content-Transfer-Encoding: quoted-printable # Content-ID: <CDA2LAB_190_signed.xml> # Content-Disposition: attachment; name="CDA2LAB_190_signed.xml" # # <!-- INSERIRE IL RIFERIMENTO AL FOGLIO DI STILE DI AGID OPPURE INSERIRNE UN= # ... # # ------=_Part_0_355796458.1662133302632-- set http [new_CkHttp] set req [new_CkHttpRequest] CkHttpRequest_put_HttpVerb $req "POST" CkHttpRequest_put_Path $req "/FseInsServicesWeb/services/fseComunicazioneMetadati" # Chilkat will automatically generate and add a boundary string. CkHttpRequest_put_ContentType $req "multipart/related; type=\"application/xop+xml\"; start=\"<rootpart@soapui.org>\"; start-info=\"text/xml\"" CkHttpRequest_AddHeader $req "SOAPAction" "some-SOAP-action" CkHttpRequest_AddHeader $req "Connection" "Keep-Alive" CkHttpRequest_AddHeader $req "Accept-Encoding" "gzip,deflate" CkHttpRequest_AddHeader $req "MIME-Version" "1.0" # Chilkat will automatically add the Content-Length and Host headers. # The "Authorization: Basic ..." header is added by setting the Login and Password and specifying Basic authentication: CkHttp_put_Login $http "..." CkHttp_put_Password $http "..." CkHttp_put_BasicAuth $http 1 # Add the 1st multipart/related sub-part, which is the SOAP envelope. set xmlBody "<soapenv:Envelope ...." set success [CkHttpRequest_AddStringForUpload2 $req "" "" $xmlBody "utf-8" "application/xop+xml; type=\"text/xml\"; charset=utf-8"] # Additional headers for the 1st sub-part set success [CkHttpRequest_AddSubHeader $req 0 "Content-ID" "<rootpart@soapui.org>"] set success [CkHttpRequest_AddSubHeader $req 0 "Content-Transfer-Encoding" "8bit"] set success [CkHttpRequest_AddSubHeader $req 0 "Content-Disposition" ""] # Add the 2nd multipart/related sub-part, which is the signed XML set xmlBody2 "<!-- INSERIRE IL RIFERIMENT ...." set success [CkHttpRequest_AddStringForUpload2 $req "CDA2LAB_190_signed.xml" "" $xmlBody2 "Cp1252" "text/xml; charset=Cp1252"] # Additional headers for the 2nd sub-part. set success [CkHttpRequest_AddSubHeader $req 1 "Content-ID" "<CDA2LAB_190_signed.xml>"] set success [CkHttpRequest_AddSubHeader $req 1 "Content-Transfer-Encoding" "quoted-printable"] set success [CkHttpRequest_AddSubHeader $req 1 "Content-Disposition" "attachment; name=\"CDA2LAB_190_signed.xml\""] CkHttp_put_FollowRedirects $http 1 set useTls 1 # resp is a CkHttpResponse set resp [CkHttp_SynchronousRequest $http "fseservicetest.sanita.finanze.it" 443 $useTls $req] if {[CkHttp_get_LastMethodSuccess $http] != 1} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkHttpRequest $req exit } set xmlResponse [new_CkXml] set success [CkXml_LoadXml $xmlResponse [CkHttpResponse_bodyStr $resp]] puts [CkXml_getXml $xmlResponse] delete_CkHttpResponse $resp delete_CkHttp $http delete_CkHttpRequest $req delete_CkXml $xmlResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.