29 Ekim 2022 Cumartesi

SSSLERR_SERVER_CERT_MISMATCH hatası:

 

    SAP sisteminiz ile SAP Cloud Integration birbirine bağladınız.SLL sertifikalarınız,root sertifikalarınız,kullanıcı ad ve şifre bilgilerinizi tanımladınız.SM59 destination tanımı sonrası “SSL handshake with” “SSSLERR_SERVER_CERT_MISMATCH (-30)#Servercertificate does not match supplied TargetHostname##SapSSLSessionStartNB()==SSSLERR_SE” hatası alıyorsanız RZ11 den

icm/HTTPS/client_sni_enabled parametresini TRUE duruma getirip hatayı düzeltebilirsiniz.

Hata mesajı:




RZ11 Mevcut parametre değeri
 

Yeni parametre değeri TRUE


SM59 connection testiniz başarılı olacaktır. RZ11 de kalıcı olması için BASIS ekibi ile iletişime geçebilirsiniz.





12 Ekim 2022 Çarşamba

SOAPUI Yardımı ile ABAP HTTP SOAP request

 

    SAP sistemi ile yeni bir web service entegresine başladınız.Kullanıcı bilgileri ile servisi SOAPUI’dan test ettiniz.Herşey çok güzel.Sıra SAP sistemine geldi.SAOPUI test ekranınızdaki Raw Tabındaki request header bilgilerini alarak abap http request header alanlarını doldurarak servise erişim yapabilirsiniz.

Soapui request header:



POST https://test.svc HTTP/1.1

Accept-Encoding: gzip,deflate

Content-Type: text/xml;charset=UTF-8

SOAPAction: "http://tempuri.org/test/testGonder"

Authorization: Basic ASD3KDKEIEI

Content-Length: 1717

Host: test.com.tr

Connection: Keep-Alive

User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

Örnek kullanım:

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Accept-Encoding'
    
value 'gzip,deflate'.

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Content-Type'
    
value 'text/xml; charset=utf-8'.
 

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Content-Length'
    
value gv_txlen.

 

Örnek abap kodu:

Concatenate kısmını SOAPUI request xml’ini kopyalarak düzenleyebilirsiniz.

DATAgv_ws_string    TYPE string.
DATAgv_rlength      TYPE i,
      gv_txlen        
TYPE string.
DATAlv_url          TYPE string.
DATAgv_http_client  TYPE REF TO if_http_client,
      gv_xml_document 
TYPE REF TO cl_xml_document.
DATAgv_ws_string1   TYPE string.
DATAxml_input       TYPE xstring.

DATAxml_table       LIKE TABLE OF smum_xmltb WITH HEADER LINE,
      
return          LIKE TABLE OF bapiret2.

CONCATENATE


INTO gv_ws_string .

gv_rlength 
STRLENgv_ws_string ) .
MOVEgv_rlength TO gv_txlen.

lv_url 
'https://test.com /Service.svc'.

CALL METHOD cl_http_client=>create_by_url
  
EXPORTING
    url                
lv_url 
  
IMPORTING
    
client             gv_http_client
  
EXCEPTIONS
    argument_not_found 
1
    plugin_not_active  
2
    internal_error     
3
    
OTHERS             4.
IF sy-subrc <> 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'POST'
    
value https://test.com /Service.svc' HTTP/1.1'.

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'~request_method'
    
value 'POST'.

 

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Accept-Encoding'
    
value 'gzip,deflate'.

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Content-Type'
    
value 'text/xml; charset=utf-8'.
 

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Content-Length'
    
value gv_txlen.

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Authorization'
    
value 'Basic saopui authoriztion token'.

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'SOAPAction'
    
value 'http://tempuri.org/METHOD AD'.


CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Host'
    
value 'https://test.com'.

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'Connection'
    
value 'Keep-Alive'.

CALL METHOD gv_http_client->request->set_header_field
  
EXPORTING
    name  
'User-Agent'
    
value 'Apache-HttpClient/4.1.1 (java 1.5)'.

CALL METHOD gv_http_client->request->set_cdata
  
EXPORTING
    
data   gv_ws_string
    offset 
0
    length 
gv_rlength.


CALL METHOD gv_http_client->send
  
EXCEPTIONS
    http_communication_failure 
1
    http_invalid_state         
2.

CALL METHOD gv_http_client->receive
  
EXCEPTIONS
    http_communication_failure 
1
    http_invalid_state         
2
    http_processing_failed     
3.

gv_ws_string1 
gv_http_client->response->get_cdata( ).
 

CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
  
EXPORTING
    
text     gv_ws_string1
    
encoding '4103'                                  
  
IMPORTING
    
buffer   xml_input
  
EXCEPTIONS
    failed   
1
    
OTHERS   2.

CALL FUNCTION 'SMUM_XML_PARSE'
  
EXPORTING
    xml_input 
xml_input
  
TABLES
    xml_table 
xml_table[]
    
return    return.




7 Ekim 2022 Cuma

SAP STRUST SSL hatası - SSSLERR_PEER_CERT_UNTRUSTED

1.SE38 işlem kodu ile RSWF_TEST_HTTP programı yardımı ile servis kontrolü yapılır.

SSL sertifica hatası alınır

SSSLERR_PEER_CERT_UNTRUSTED

                        

2-SMICM işlem kodu ile kontrol edilir.

    


3-Strust işlem kodu ile sertifica yüklenmesi.Servis url’den herhangi bir browser yardımı ile SSL sertifica’sını export edip,SAP sistemine import etmek gerekmektedir. SSL Client (Standart) seçimi yapılır.

4-Tekrar servisi RSWF_TEST_HTTP ile kontrol edelim.SSL sertifica’sı yüklenmiş durumda. Artık ister proxy class,ister http request ile servise erişim sağlayabilirsiniz.