Pubblicare un function module SAP come Web Service
Pubblicato da Davide, venerdì 26 ottobre 2012 1 Commento »
Foto Credits
SAP è un mondo, ma ogni tanto questo mondo deve poter essere “visto” e “manipolato” dall’esterno. Senza infinte elucubrazioni sulla SOA (Service Oriented Architecture), venendo subito al sodo: l’obiettivo di questo articolo è fissare i passaggi per pubblicare come web service un function module di SAP scritto in ABAP.
Dopo aver creato il function module (transazione SE37), dovremo avviare il wizard per la pubblicazione (il wizard funziona correttamente con il logon in inglese):
- Su ECC5.0: Menu Utilities > Altre utility > Generare servizio web > Dal function module
- Su ECC6.0: Tasto destro > Creare Web Service
In seguito attivare i servizi sulla transazione SICF:
- /default_host/sap/bc/soap
- /default_host/sap/bc/srt
- Ogni web service è rappresentato come servizio ICF nel ramo /default_host/sap/bc/srt/rfc/sap/
Bisognerà poi recuperare l’url del web service pubblicato. Le transazioni disponibili dipendono dalla versione del Service Pack:
- WSADMIN
- WSCONFIG
- SOAMANAGER
I passaggi sono i seguenti:
- Cercare e selezionare il web service nel nodo SOAP Application for RFC-Compliant FMs
- Menu Web Service > WSDL
- Nella popup selezionare Document Style
- Si apre il browser con il link e la definizione del WSDL
- Non serve la configurazione del J2EE. Nel caso sia attivata, configurarla da Menu: Passaggio a > Parametrizzazione Amministrazione (esempio http://dominio.it:50000)
- Se non è attivata la parte J2EE, il WSDL lavora sulla porta dell’ITS (esempio http://dominio.it:8000/sap/bc/srt/rfc/sap/Z_WS_TEST_CUSTOMER_DETAIL?sap-client=600&wsdl=1.1 )
- Il link per le BAPI standard è: http://dominio.it:8000/sap/bc/soap/wsdl11?services=BAPI_CUSTOMER_GETDETAIL2&sap-client=600
Per testare il web service si può utilizzare un programma come SOAP UI. Dopo averlo installato, i passaggi da fare sono i seguenti:
- Creare nuovo progetto
- Nel progetto aggiungere un WSDL
- Indicare il link recuperato dalla transazione WSADMIN
- Inserire username e password dell’account SAP nel riquadro in basso a sinistra
Nella zona di sinistra vanno inseriti i parametri di input, rimuovendo i punti interrogativi. Poi premere il tasto con la freccia verde e nella parte di destra comparirà il risultato restituito dal web service.
Non vado oltre anche se il tema meriterebbe molti approfondimenti, riporto queste poche informazioni come promemoria per chiunque si debba cimentare; nel caso qualcuno voglia maggiori informazioni lascio qualche link utile:
- http://help.sap.com/saphelp_nwpi71/helpdata/en/bb/ddb33d2ae46b3be10000000a114084/frameset.htm
- http://help.sap.com/saphelp_nwpi71/helpdata/en/9b/dad1ae3908ee44a5caf57e10918be9/frameset.htm
- http://www.dataxstream.com/2009/09/turn-any-sap-remote-enabled-function-module-into-a-web-service-%E2%80%93-part-1/
- http://www.dataxstream.com/2009/10/turn-any-sap-remote-enabled-function-module-into-a-web-service-%E2%80%93-part-2/
1 Commento »
Puoi lasciare un tuo commento, oppure fare un trackback dal tuo sito.
Lascia il tuo commento
1
Consumare un web service SAP da applicazione .NET in C# con Visual Studio - diploD - Pubblicato il 26 10 2012 alle 17:01
[...] esempio estrae una tabella di dati tramite alcuni parametri in input e averlo reso disponibile pubblicandolo come web service), per evitare che sia necessario passare le credenziali di accesso durante la chiamata al web [...]