Vytváranie WSDL s Eclipse Web Developer Tools

2019/10/14

Screencast ukazuje, ako vytvárať webové služby nad protokolom SOAP s použitím Eclipse IDE a pluginu Java EE Web Developer Tools.

Schéma pre správy

Schéma zobrazená vo videu pochádza z článku Tvoríme XML schému pomocou Eclipse IDE.

Návrh WSDL

Ak máme ujasnenú schému, môžeme navrhovať WSDL. V Eclipse môžeme zvoliť New | File | Web Services | WSDL File a vytvoriť súbor words.wsdl.

V dialógu potrebujeme vyplniť štyri základné veci:

V tomto prípade však vynechajme štýl, protokol i generovanie kostry služby, pretože si ho naklikáme vo vizuálnom editore WSDL.

Výsledné WSDL

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions xmlns:api="urn:example:translator"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="translator"
	targetNamespace="urn:example:translator"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
	<wsdl:types>
		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
			<xsd:import namespace="urn:example:translator"
				schemaLocation="translator.xsd">
			</xsd:import>
		</xsd:schema>
	</wsdl:types>
	<wsdl:message name="translateRequest">
		<wsdl:part name="body" element="api:word"></wsdl:part>
	</wsdl:message>
	<wsdl:message name="translateResponse">
		<wsdl:part name="body" element="api:words"></wsdl:part>
	</wsdl:message>
	<wsdl:portType name="TranslatorPortType">
		<wsdl:operation name="translate">
			<wsdl:input message="api:translateRequest"></wsdl:input>
			<wsdl:output message="api:translateResponse"></wsdl:output>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="TranslatorPortBinding"
		type="api:TranslatorPortType">
		<soap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="translate">
			<soap:operation
				soapAction="urn:example:translator/NewOperation" />
			<wsdl:input>
				<soap:body use="literal" />
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="TranslatorService">
		<wsdl:port name="TranslatorPort"
			binding="api:TranslatorPortBinding">
			<soap:address
				location="http://localhost:8080/translator" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

Literatúra

>> Home