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
(Delphi ActiveX) 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.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var http: TChilkatHttp; req: TChilkatHttpRequest; xmlBody: WideString; success: Integer; xmlBody2: WideString; useTls: Integer; resp: IChilkatHttpResponse; xmlResponse: TChilkatXml; begin // 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-- http := TChilkatHttp.Create(Self); req := TChilkatHttpRequest.Create(Self); req.HttpVerb := 'POST'; req.Path := '/FseInsServicesWeb/services/fseComunicazioneMetadati'; // Chilkat will automatically generate and add a boundary string. req.ContentType := 'multipart/related; type="application/xop+xml"; start="<rootpart@soapui.org>"; start-info="text/xml"'; req.AddHeader('SOAPAction','some-SOAP-action'); req.AddHeader('Connection','Keep-Alive'); req.AddHeader('Accept-Encoding','gzip,deflate'); req.AddHeader('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: http.Login := '...'; http.Password := '...'; http.BasicAuth := 1; // Add the 1st multipart/related sub-part, which is the SOAP envelope. xmlBody := '<soapenv:Envelope ....'; success := req.AddStringForUpload2('','',xmlBody,'utf-8','application/xop+xml; type="text/xml"; charset=utf-8'); // Additional headers for the 1st sub-part success := req.AddSubHeader(0,'Content-ID','<rootpart@soapui.org>'); success := req.AddSubHeader(0,'Content-Transfer-Encoding','8bit'); success := req.AddSubHeader(0,'Content-Disposition',''); // Add the 2nd multipart/related sub-part, which is the signed XML xmlBody2 := '<!-- INSERIRE IL RIFERIMENT ....'; success := req.AddStringForUpload2('CDA2LAB_190_signed.xml','',xmlBody2,'Cp1252','text/xml; charset=Cp1252'); // Additional headers for the 2nd sub-part. success := req.AddSubHeader(1,'Content-ID','<CDA2LAB_190_signed.xml>'); success := req.AddSubHeader(1,'Content-Transfer-Encoding','quoted-printable'); success := req.AddSubHeader(1,'Content-Disposition','attachment; name="CDA2LAB_190_signed.xml"'); http.FollowRedirects := 1; useTls := 1; resp := http.SynchronousRequest('fseservicetest.sanita.finanze.it',443,useTls,req.ControlInterface); if (http.LastMethodSuccess <> 1) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; xmlResponse := TChilkatXml.Create(Self); success := xmlResponse.LoadXml(resp.BodyStr); Memo1.Lines.Add(xmlResponse.GetXml()); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.