X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.8/26911) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from mail01.rucotec.ch ([65.21.159.64] verified) by post.selbstdenker.com (CommuniGate Pro SMTP 6.3.18) with ESMTPS id 30795835 for webobjects-dev@wocommunity.org; Thu, 18 May 2023 18:37:33 +0200 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=65.21.159.64; envelope-from=markus.ruggiero@rucotec.ch Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 8FDFF5FC76 for ; Thu, 18 May 2023 18:37:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rucotec.ch; s=dkim; t=1684427831; h=from:subject:date:message-id:to:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=94rynFlXQ9WXHLo3pkAJZGfvdYByouoK7MOUbfA3mS4=; b=fPD5DVCsS6sMetHjnAvxciKgemmsAImXL/BEGaGCf7y3oXnTNOnp7TI8Bbkx0TLRSj3tz8 iG1k+yrc6C8hrZHnD1YNEgTgFg777ULxEoz119FzexCs37qnQltKaIEf+ZoZCXZmFYBPHU QgTM2McMwMFq1k5yk6fznzXhgwC6c10tVMaGBmD1hKoR3tQmhmrMqQDVcKDyS+BhokuZsE 4s4n40p3C8YfNFCTPZI0GLdCfejnwbta9sNXs4ab51hgDuPmgRALetinDUs6O8tEqKv0ns iVJe8TyPqpLJmnx9ly48eLbFq3rrxoSU0grKS7UXdDyFwUKAylgshLBKUybzZQ== From: "Markus Ruggiero (rucotec)" Content-Type: multipart/signed; boundary="Apple-Mail=_739D8E1C-5FCA-49EF-B443-12A548A5E715"; protocol="application/pkcs7-signature"; micalg=sha-256 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: [WO-DEV] Https request examples? Date: Thu, 18 May 2023 18:36:57 +0200 References: To: WebObjects & WOnder Development In-Reply-To: Message-Id: <7ED81C88-203F-4422-AA6F-9CBBFAF56600@rucotec.ch> X-Last-TLS-Session-Version: TLSv1.2 --Apple-Mail=_739D8E1C-5FCA-49EF-B443-12A548A5E715 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On 8 May 2023, at 19:16, Hugi Thordarson wrote: >=20 > Hi Markus, >=20 > is the server using a self-signed certificate? If not, i.e. it's just = good ol' https with a cert issued by a trusted CA, you should be fine = using the build in java http client with https, something like=E2=80=A6 >=20 > ----------------------- >=20 > public static String post( final String url, final String requestBody = ) throws IOException, InterruptedException { > // Create a client (the client can be reused so for performance = sensitive code, I wouldn't do this within the method) > final HttpClient client =3D HttpClient > .newBuilder() > .build(); >=20 > // Construct a request to submit > final HttpRequest request =3D HttpRequest > .newBuilder() > .uri( URI.create( url ) ) > .POST( BodyPublishers.ofString( requestBody, = StandardCharsets.UTF_8 ) ) > .build(); >=20 > // Submit the request > final HttpResponse response =3D client.send( request, = HttpResponse.BodyHandlers.ofString( StandardCharsets.UTF_8 ) ); > return response.body(); > } >=20 Hugi, thanks a lot, this works perfectly. But (there is always a but) What do I do with the returned result? My problem is that no matter what I try the resultant string is not = properly used as the content of the iFrame. I am probably just = thoroughly confused but WO seems to mix and match things in a way that = either the initial POST body is displayed instead of the result or the = resultant string is parsed but no linked resources are found as they are = all tried to be accessed through my application. And of course there = they aren=E2=80=99t. I have the following def in my WOD iFrame : ERXIFrame { action =3D createMyIFrameContent; style =3D "width:100%; height:90vh; border:solid 2px green"; } I cannot use either pageName nor src bindings because I need to create = some xml content and a POST request. So I use the action = createMyIFrameContent() to create the content for the iFrame. But how? Inside createMyIFrameContent() I built the xml and used your code to = submit the POST. Worked and I did get a result back. But then? When I = create a new WOResponse and set the result as its content WO displays = the original request body (the xml), not the resulting content.=20 So I created a new WOComponent that createMyIFrameContent() instantiates = with pageWithName(), passes some data to it for the generation of the = xml and returns this to the iFrame. In the new component I override = appendToResponse(), execute the POST and set the result as the content. = I also tried overriding generateResponse(). In both cases I do get the = result from the POST rendered but no externally linked resources are = found because they are seen as relative to my application (css, images, = etc). Basically the question is =E2=80=9Chow do I break out of my application = and have that dynamically generated remote page inside my iFrame?=E2=80=9D= As I said, I am confused and don=E2=80=99t see the forest for the trees = anymore. ---markus--- > ----------------------- >=20 > - hugi >=20 >=20 >> On 8 May 2023, at 14:34, Markus Ruggiero (rucotec) = wrote: >>=20 >> I need to make a https POST request to a 3rd party web server sending = xml along in the body of the request. The server is supposed to return a = html page which I should then display inside an iFrame. >>=20 >> Does any body have some example code how to do such an https request? = Easy to create the xml but I am not quite sure about the SSL/TLS part. >>=20 >> Thanks a lot >> ---markus--- >>=20 >=20 >=20 > ############################################################# > This message is sent to you because you are subscribed to > the mailing list . > To unsubscribe, E-mail to: > To switch to the DIGEST mode, E-mail to = > To switch to the INDEX mode, E-mail to = > Send administrative queries to = >=20 --Apple-Mail=_739D8E1C-5FCA-49EF-B443-12A548A5E715 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCCzow ggUiMIIECqADAgECAhEA+bJBRVU88Wt+/tk032YQpDANBgkqhkiG9w0BAQsFADCBljELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0yMjA1MTQwMDAwMDBaFw0yNTA1MTMyMzU5 NTlaMCsxKTAnBgkqhkiG9w0BCQEWGm1hcmt1cy5ydWdnaWVyb0BydWNvdGVjLmNoMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmyWv+KHiux3seusiaMG6GkTnzpAtZAQoNEuUSF/NCltV 8vC5c5mSp3S9nwQwd9vsncR35LsmXWCxDFE/EsOPr8q/ulmuN2DFxar17CoQzR2WkOJ4hn60FjuS gXuQMW2UsdRBajEqaMtmPKmFV3KN4wLi9fQLzve5Psykv+da4TUI5QB1y/1d1F00co+k5Xq16xXG Mq2kBLRpo3+ykiLJHKx/1YVTDhhrT72jkcGcc6GjUINbtqV0Z84m3PC26eOUoSGIqKSOls8GnmQY AA/al1OPBI5AjCh+sxq9MCNtTs4EJW4+sMmZE4CRY/60odb++HxdsRuAwYdqfg5fjHPqvQIDAQAB o4IB0zCCAc8wHwYDVR0jBBgwFoAUCcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFNt3xL6+ uF93aKx7OyZ+5X0tJkOiMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQG CCsGAQUFBwMEBggrBgEFBQcDAjBABgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUF BwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3Js LnNlY3RpZ28uY29tL1NlY3RpZ29SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWls Q0EuY3JsMIGKBggrBgEFBQcBAQR+MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5j b20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYI KwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMCUGA1UdEQQeMByBGm1hcmt1cy5ydWdn aWVyb0BydWNvdGVjLmNoMA0GCSqGSIb3DQEBCwUAA4IBAQBbChLqbBr/EGVvqY3JhZltmRwUBagV XqgrWDgMk3xqkXlPVBucGuRq/wg2sCZBUVQFDXoIiyFrCjQy5A80F3fJ+H/dr8M4KT5hMrPSrsj9 dTQP9T7MnluDRuhma5+x9vSvMIttSD1EhkHJsSvGw0BH2BOrUsqQJP5k2bEa9j8faLZaJRUbQG0G zpZnLUrRbhnndW5OEdKa+F5x9lkWM/Lj0eiEdkYoJJPnD/JF3uqAn12U3FZI4yv+K6IxA9M0kn/M Vxm0AVEdYDsgIkbBI+BhS1QWsOxC4utrY3A2nfLtY0RrbcR7g8B4N/QbD657Wrb7i45485+yYZon cp6nqFwyMIIGEDCCA/igAwIBAgIQTZQsENQ74JQJxYEtOisGTzANBgkqhkiG9w0BAQwFADCBiDEL MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4w HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgxMTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBljEL MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9y ZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQg QXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMo87ZQKQf/e+Ua56NY75tqSvysQTqoavIK9viYcKSoq0s2cUIE/bZQu85eoZ9X1 40qOTKl1HyLTJbazGl6nBEibivHbSuejQkq6uIgymiqvTcTlxZql19szfBxxo0Nm9l79L9S+TZNT EDygNfcXlkHKRhBhVFHdJDfqB6Mfi/Wlda43zYgo92yZOpCWjj2mz4tudN55/yE1+XvFnz5xsOFb me/SoY9WAa39uJORHtbC0x7C7aYivToxuIkEQXaumf05Vcf4RgHs+Yd+mwSTManRy6XcCFJE6k/L Ht3ndD3sA3If/JBz6OX2ZebtQdHnKav7Azf+bAhudg7PkFOTuRMCAwEAAaOCAWQwggFgMB8GA1Ud IwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQJwPL8C9qU21/+K9+omULPyeCt ADAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcD AgYIKwYBBQUHAwQwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2 BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VS VHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0 LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAQUR1AKs5whX13o6VbTJxaIwA3RfXehwQOJDI47G9FzGR 87bjgrShfsbMIYdhqpFuSUKzPM1ZVPgNlT+9istp5UQNRsJiD4KLu+E2f102qxxvM3TEoGg65FWM 89YN5yFTvSB5PelcLGnCLwRfCX6iLPvGlh9j30lKzcT+mLO1NLGWMeK1w+vnKhav2VuQVHwpTf64 ZNnXUF8p+5JJpGtkUG/XfdJ5jR3YCq8H0OPZkNoVkDQ5CSSF8Co2AOlVEf32VBXglIrHQ3v9AAS0 yPo4Xl1FdXqGFe5TcDQSqXh3TbjugGnG+d9yZX3lB8bwc/Tn2FlIl7tPbDAL4jNdUNA7jGee+tAn TtlZ6bFz+CsWmCIb6j6lDFqkXVsp+3KyLTZGXq6F2nnBtN4t5jO3ZIj2gpIKHAYNBAWLG2Q2fG7B t2tPC8BLC9WIM90gbMhAmtMGquITn/2fORdsNmaV3z/sPKuIn8DvdEhmWVfh0fyYeqxGlTw0Rfwh BlakdYYrkDmdWC+XszE19GUi8K8plBNKcIvyg2omAdebrMIHiAHAOiczxX/aS5ABRVrNUDcjfvp4 hYbDOO6qHcfzy/uY0fO5ssebmHQREJJA3PpSgdVnLernF6pthJrGkNDPeUI05svqw1o5A2HcNzLO pklhNwZ+4uWYLcAi14ACHuVvJsmzNicxggPHMIIDwwIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZ BgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2Vj dGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24g YW5kIFNlY3VyZSBFbWFpbCBDQQIRAPmyQUVVPPFrfv7ZNN9mEKQwDQYJYIZIAWUDBAIBBQCgggHr MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMDUxODE2MzY1N1ow LwYJKoZIhvcNAQkEMSIEILcftX7DmQJFjo6Idf1himBmo2zs9jWFfi9ae5XYNd6CMIG9BgkrBgEE AYI3EAQxga8wgawwgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIx EDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+MDwGA1UEAxM1U2Vj dGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0ECEQD5skFF VTzxa37+2TTfZhCkMIG/BgsqhkiG9w0BCRACCzGBr6CBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNV BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGln byBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5k IFNlY3VyZSBFbWFpbCBDQQIRAPmyQUVVPPFrfv7ZNN9mEKQwDQYJKoZIhvcNAQELBQAEggEAH8Qr i50LlzfL5gSD3QHiUZ/24sHtd66rOR5UmqcV+XCbVN8QqZZ9Ze2Nx+/fl292FmRTW28kGqH5JZnk cz/IMrlfCqBE8lHIC+piV6zU0SfSDqJBdDBpUQtV+EcpTKMWO15/GMNlcsSMpGhc2tEF70Vtf339 gfOO2SJp+3peWu4K3UezQcdwGMvM54wGaEMhUmq8rkI1MbyUs3s1eKmud69TmApM8/JjFwcvCkhN CdOVAlPlXVVHNWKzLOu46KBoQhKMxT/cgcCU3P03HjtLw714rwUmVh2doY75EXZvnBgsTRNbjqVx zgVOE9SVfHCXoue/0fkcwXwlfrdy8NqaIwAAAAAAAA== --Apple-Mail=_739D8E1C-5FCA-49EF-B443-12A548A5E715--