In fase di deploy, cioè di messa in produzione del nostro session bean, dovremmo notare sulla console di JBoss Wildfly la stampa di righe simili alle seguenti che ci informano della corretta pubblicazione del servizio:
Per poter comprendere al meglio il codice realizzato e le relative annotations, apriamo il browser e digitiamo l'URL:
http://localhost:8080/ProgettoEjb1/ConverterBeanService/ConverterBean?WSDL
Otteniamo come risposta la parte principale del documento WSDL generato. Concentriamoci per un momento sul tag definitions:
L'annotation @WebService agisce sul tag wsdl:definitions attraverso gli attributi targetNamespace="urn:ConverterBeanService" e serviceName="ConverterBeanService" che impostano rispettivamente gli attributi targetNamespace e name. Spostiamo adesso l'attenzione sul tag wsdl:service:
Come possiamo notare, l'attributo serviceName="ConverterBeanService" di @WebService agisce anche sul tag service che espone infatti
un attributo per il nome del servizio. Si evidenzia inoltre nel tag wsdl:port l'azione dell'attributo portName="ConverterBeanPort" di @WebService
che va ad impostare il valore dell'attributo name di wsdl:port.
Il tag wsdl:binding è soggetto all'azione dell'annotation @SOAPBinding che imposta il tipo di stile di Web Service (RPC/DOCUMENT). Gli attributi dell'annotation @WebMethod, operationName ed action interessano invece rispettivamente gli attributi name di wsdl:operation e soapAction di soap:operation:
Tornando al tag definitions osserviamo l'importazione del documento WSDL su:
http://localhost:8080/ProgettoEjb1/ConverterBeanService/ConverterBean?wsdl=ConverterBeanWS.wsdl
Apriamo questo documento con il browser:
Il documento rivela l'azione delle annotation @WebParam e @WebResult, possiamo facilmente notare come esse agiscano
sull'attributo name dei tag wsdl:message e wsdl:part.
Se analizziamo il tag wsdl:portType che espone l'interfaccia del Web Service riusciamo a collegare immediatamente l'attributo name al nome dell'interfaccia Java che abbiamo definito precedentemente. Infine è facile intuire che l'attributo name di @WebMethod agisca anche sul tag wsdl:operation fornendo un nome specifico alle operazioni esposte dal Web Service.
Se vuoi aggiornamenti su Development inserisci la tua email nel box qui sotto: