Forum Discussion

itsmeagain's avatar
itsmeagain
New Contributor
9 years ago

http/2 support in soapui

For a testing purpose, i must make a Rest call using HTTP/2.

When making the request i do get a the error org.apache.http.client.ClientProtocolException.

The http log reports

 

Fri May 20 13:27:00 CEST 2016:DEBUG:<< "[0x0][0x0][0x18][0x4][0x0][0x0][0x0][0x0][0x0][0x0][0x1][0x0][0x0][0x10][0x0][0x0][0x3][0x0][0x0][0x1]?[0x0][0x5][0x0][0x0]@[0x0][0x0][0x6][0x0][0x0][0x1f]@[0x0][0x0]?[0x7][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x0][0x1]HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: 504f5354202f332f6465766963652f306439313763653434[\r][\n]"

Outside SoapUI i can reproduce the error using curl and forcing to use HTTP1.1

 

> curl -d '{"aps":{"alert":"My First Push Notification!","sound":"default"}}' --cert "./HCMonitorPush.pem":"secret" -H "apns-topic: reddipped.com.myapp" --http2 https://api.development.push.apple.com/3/device/0e9339aadd9 --ciphers ECDHE-RSA-AES256-GCM-SHA384  -vvv --http1.1

?@@?HTTP/2 client preface string missing or corrupt. Hex dump for received bytes: 504f5354202f332f6465766963652f306439313763653434Chigatze:certificates push notifi

 

So SoapUI is probably lacking HTTP/2 support. Is there a known workaround to make an HTTP/2 request from SoapUI ?

 

 

 

  • itsmeagain's avatar
    itsmeagain
    New Contributor

    To negotiate an HTTP 2.0 session, Application-Layer Protocol Negotiation (ALPN) is required. ALPN is not supported by Java 8 but will in Java 9. Unfortunately SoapUI does not work on Java 9 so that is not option. 

    I have tried to establish an HTTP 1.1 session using an Upgrade: h2c header. 

    I have one option left, using the Jetty extension for ALPN and using this extension in a groovy script. 

    See how this works out ....

    • Ronnie_A_Jones's avatar
      Ronnie_A_Jones
      Occasional Contributor

      Have you figured out how to get HTTP/2 to work in Soapui?

  • nmrao's avatar
    nmrao
    Champion Level 3
    If you see the preferences, HTTP Settings, there are 1.0, 1.1 available as options.

    So I doubt you got any workaround.

    May be you can tweak the value to 2.0 in soapui-settings.xml and try though that is not officially supported.