W tym projekcie wczuwamy się w taką sytuację:
- jakaś firma / instytucja utworzyła usługę SOAP i ona sobie gdzieś działa
- serwer może być w dowolnej technologii (Java, C#/.NET [←te są najczęściej używane], C++, PHP, Python...)
- mamy dostęp do WSDL i ewentualnie jakąś dokumenację
Wtedy:
- generujemy źródła klas na podstawie WSDL
- powstaje zestaw klas odpowiadający modelowi danych + interfejs usługi (tzw. SEI, tutaj Sklep) + klasa dostępowa dla klienta (tutaj SklepService)

Są różne sposoby, aby te klasy wygenerować. Generowanie w IDE (IntelliJ, Eclipse, NetBeans) jest dostępne, ale wymaga dodatkowej konfiguracji.
My użyliśmy wiersza poleceń i skryptu wchodzącego w skład serwera JBoss / WildFly.

wersja Linux:

/opt/java/wildfly-35.0.1.Final/bin/wsconsume.sh -k -n -s src/main/java -p sklep.generated "http://localhost:8080/PC24-SklepSoap/Sklep?wsdl"


wersja Windows - przykładowo:
C:\Tools\wildfly-35.0.1.Final\bin\wsconsume.bat -k -n -s src\main\java -p sklep.generated "http://localhost:8080/PC25-SoapSerwer/Sklep?wsdl"


Dodatkowe opcje dla tego generowania można opisać w pliku (tutaj async-binding.xml)
zgodnym ze schemą
https://jakarta.ee/xml/ns/jaxws/wsdl_customizationschema_3_0.xsd
i wskazać ten plik z opcją -b
/opt/java/wildfly-35.0.1.Final/bin/wsconsume.sh -k -n -s src/main/java -b async-binding.xml -p sklep.generated "http://localhost:8080/PC24-SklepSoap/Sklep?wsdl"


