SAP ECC 6: pubblicare una function come web service, senza fronzoli.
Pubblicato da Davide, Aggiornato giovedì 10 luglio 2014 1 Commento »
In giro ci sono troppi un sacco di articoli che spiegano come pubblicare una function come web service, da consumare poi con applicazioni esterne. Questi vogliono essere appunti operativi, che diventano di fatto un how-to da tenere a riferimento per capire come fare.
Il prerequisito di base è che la function abbia alcune proprietà basilari: “Modulo accessibile in remoto”, vedi figura dalla transazione SE37.
Per pubblicarla come servizio web, basta andare da menu, sempre nella SE37: Utilities -> Altre Utilities -> Generare servizio web -> Dal function module (vedi figura)
Bisognerà poi seguire il wizard come da figure sotto, dando un nome al web service.
Per pubblicare senza richiesta di autenticazione, selezionare come da figura sottostante:
Scegliere il pacchetto e la richiesta di trasporto.
Cliccare su “completare”, si aprirà la maschera di creazione del servizio e resterà solamente da attivare il servizio (con l’icona di attivazione).
Ora bisognerà terminare il lavoro dalla transazione SOAMANAGER (introdotta con l’ECC 6).
Si aprirà una finestra del browser, da qui bisogna andare su “Web service configuration”
Da qui è possibile ricercare il web service appena creato, selezionarlo, premere “apply selection” e andare sulla tab “configuration”
Qui bisogna creare un nuovo servizio.
Bisogna inserire un nome per il servizio e per il binding, poi premere “Apply Settings”
Sotto si aprire una maschera con le impostazioni del servizio, bisognerà configurarle. Se ad esempio si vuole impostare un utenza fissa, in modo tale che le applicazioni esterne chiamino il servizio senza autenticarsi ogni volta, si può configurare come in figura sotto. Alla fine premere “Save”.
A questo punto è tutto pronto.
Bisognerà premere su “Open WSDL document for selected binding or service” per ottenere l’url della definizione del web service, da utilizzare ad esempio su SOAP UI per poter consumare il web service e testarlo.
E se un giorno volessimo ripubblicare il servizio dopo aver cambiato la function?
Magari viene aggiunto un parametro di input/output, il web service non recepirà queste modifiche finchè non lo torniamo a pubblicare. Per fare ciò, da SAP, dobbiamo accedere alla transazione SE80. Selezionare il pacchetto in cui è stata salvata la function e poi selezionare il proprio servizio web sotto “Enterprise Service -> Service Provider”. Andare in modifica e da menù come da immagine sottostante.
Salvare e attivare.
Ora il web service avrà ereditato le modifiche.
1 Commento »
Puoi lasciare un tuo commento, oppure fare un trackback dal tuo sito.
Lascia il tuo commento
1
Consumare un web service SAP con C#: guida pratica. - diploD - Pubblicato il 18 07 2014 alle 11:24
[…] anche di averla pubblicata come web service, in modo da avere l’indirizzo del WSDL per poter aggiungere il riferimento al servizio nella […]