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.

DATA: gv_ws_string    TYPE string.
DATA: gv_rlength      TYPE i,
      gv_txlen        
TYPE string.
DATA: lv_url          TYPE string.
DATA: gv_http_client  TYPE REF TO if_http_client,
      gv_xml_document 
TYPE REF TO cl_xml_document.
DATA: gv_ws_string1   TYPE string.
DATA: xml_input       TYPE xstring.

DATA: xml_table       LIKE TABLE OF smum_xmltb WITH HEADER LINE,
      
return          LIKE TABLE OF bapiret2.

CONCATENATE


INTO gv_ws_string .

gv_rlength 
= STRLEN( gv_ws_string ) .
MOVE: gv_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.



28 Eylül 2022 Çarşamba

SAP Abap ADT Gateway error log

 SAP Abap ADT ile bir odata servisi geliştirdiniz.Odata servisinin aldığı hataları Feed Reader tabından görebilirsiniz.



SAP BTP table adjustment

 SAP BTP ile eclipse'de bir tablo tanımladınız.Tablonuza kayıt eklediniz.Daha sonra tablonuza yeni alan eklediniz veya datatype tipini,uzunluğunu değiştirdiniz,active etmeniz için CTRL+1 ile adjustment yöntemlerini yaparak tablonuzu aktif duruma getirebilirsiniz.




21 Temmuz 2018 Cumartesi

find terminal name and ip

 USR41 tablosundan sisteme bağlanmış terminal'lerin IP adreslerini bulabilirsiniz.

26 Haziran 2018 Salı

tcode find from table name

TSTCP tablosuna gidip,
param kısmına *tablename* adı aratıp o tabloya ait işlem kodunu bulabilirsiniz.

SAP hana drop user

sql ile hana kullanıcısı silmek istiyorsanız:
DROP USER new_user CASCADE;