1. Amna Khalid
  2. PowerBuilder
  3. Monday, 23 September 2024 04:49 AM UTC

Hi,

 

This is my code snippet of function

string ls_xml_request , ls_soap_action_url

ls_xml_request = netsol==wkGMBU2ghaXACzMLz5ln+U cmsVM033-BMW-APP


ls_soap_action_url= https://tempuri.org/ILoginManager/LoginUser

 

    

 

  httpClient              lhc_client
  integer                  li_ret , li_StatusCode
  string                    ls_url,ls_xml_request, ls_ret, ls_data,ls_value =""        
  Constant Integer SECURE_PROTOCOL_TLS2 =0

   gs_server_name =  '10.32.191.33:49157'  //global vaiable name         
  ls_url= "https://"+gs_server_name+"/WKFLoginManager.svc/Login"


  lhc_client = Create httpClient
  lhc_client.SetRequestHeader("Accept-Encoding","gzip,deflate")
  lhc_client.SetRequestHeader("SOAPAction",ls_soap_action_url)
  lhc_client.SetRequestHeader("Content-Type", "text/xml;charset=utf-8")


  lhc_client.SecureProtocol = SECURE_PROTOCOL_TLS2 
  li_ret = lhc_client.sendrequest("POST", ls_url,ls_xml_request )
  li_StatusCode = lhc_client.GetResponseStatusCode()
  ls_ret = lhc_client.GetResponseStatusText( )
  li_ret = lhc_client.getresponsebody(ls_xml_request)
  string result= ls_xml_request
  destroy lhc_client

  IF li_StatusCode = 200 THEN
    PBDOM_Builder                    lpbdom_builder
    pbdom_document                lpbdom_doc
    lpbdom_builder = CREATE PBDOM_BUILDER
    lpbdom_doc = CREATE PBDOM_DOCUMENT

    TRY
    // generate XML Document
    lpbdom_Doc = lpbdom_Builder.BuildFromString(ls_xml_request)

    try
    ls_value = lpbdom_Doc.GetRootElement().&
    GetChildElement("Body", "s","http://schemas.xmlsoap.org/soap/envelope/").&
    GetChildElement(as_soap_action+"Response","","http://tempuri.org/").&
    GetChildElement(as_soap_action+"Result","","http://tempuri.org/").getText()
    //ll_ret = long(ls_value)
    CATCH (runtimeerror err) 
    MessageBox( "PBDOM_Exception", err.getMessage())
    end try

    CATCH (PBDOM_Exception lpbdom_Except)
    MessageBox( "PBDOM_Exception", lpbdom_Except.GetExceptionCode())
    END TRY
    return ls_value
    DESTROY lpbdom_Builder
  ELSE
    return ls_value
    //MessageBox("Error","Login data cannot be retrieved for HTTPs")  
  END IF  

 

 

 

 when i run this code li_ret  return -19 in below line of code if put SECURE_PROTOCOL_TLS0 as only SSL protocol is enabled while TLS1.0,1.1,1.2,1.3   are disabled. if i enable tls 1.3 then put secure protocol value 6 then this function returns 1 but then Get response status code return 500. i want to do Communication through HTTPS. Please help me to resolve this issue. i have tried with other protocols but with no success.
  li_ret = lhc_client.sendrequest("POST", ls_url,ls_xml_request )

 

Armeen Mazda @Appeon Accepted Answer Pending Moderation
  1. Monday, 23 September 2024 12:56 PM UTC
  2. PowerBuilder
  3. # 1

TLS 1.3 only supported on Windows 11.  Don't know why Microsoft hasn't made this standard on Windows 10, but I believe there is workaround to enable TLS 1.3 on Windows 10.

The SOAP service you are calling will accept TLS 1.2?  Or is it set to minimum of TLS 1.3?  If it will accept TLS 1.2, you might want to try setting SECURE_PROTOCOL_TLS2 =5 so it forces TLS 1.2 only.  Less than TLS 1.2 you should not use as it is not secure and 1.3 might be problematic in your desktop/client environment.

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.