7장. Cryostat 1.2 메시지 사용
초록
Apache CXF는 ESP 헤더를 사용하지 않는 Cryostat 1.2 바인딩을 생성하는 툴을 제공합니다. 텍스트 또는 XML 편집기를 사용하여 바인딩에 Cryostat 헤더를 추가할 수 있습니다.
7.1. WSDL 문서에 Cryostat 1.2 바인딩 추가
7.1.1. wsdl2soap 사용
wsdl2soap을 사용하려면 Apache CXF 배포를 다운로드해야 합니다.
wsdl2soap
을 사용하여 Cryostat 1.2 바인딩을 생성하려면 다음 명령을 사용합니다. wsdl2soap
-iport-type-name-bbinding-name-soap12-doutput-directory-nsoap-body-namespace-style (document/rpc)-use (literal/encoded)-v-verbose-quietwsdl URL 에는 다음과 같은 필수 인수가 있습니다.
옵션 | 해석 |
---|---|
|
바인딩이 생성되는 |
| 생성된 바인딩에서 Cryostat 1.2를 사용하도록 지정합니다. |
wsdlurl |
|
툴에는 다음과 같은 선택적 인수가 있습니다.
옵션 | 해석 |
---|---|
| 생성된 Cryostat 바인딩의 이름을 지정합니다. |
| 생성된 바인딩에서 Cryostat 1.2를 사용하도록 지정합니다. |
| 생성된 WSDL 파일을 배치할 디렉터리를 지정합니다. |
| 생성된 WSDL 파일의 이름을 지정합니다. |
| 스타일이 RPC인 경우 Cryostat 본문 네임스페이스를 지정합니다. |
| Cryostat 바인딩에 사용할 인코딩 스타일(문서 또는 RPC)을 지정합니다. 기본값은 document입니다. |
| Cryostat 바인딩에 사용할 바인딩 사용(로 인코딩된 또는 리터럴)을 지정합니다. 기본값은 literal입니다. |
| 도구의 버전 번호를 표시합니다. |
| 코드 생성 프로세스 중에 주석을 표시합니다. |
| 코드 생성 프로세스 중에 주석을 비활성화합니다. |
-i
port-type-name 및 wsdlurl 인수가 필요합니다. -style rpc
인수가 지정된 경우 -n
soap-body-namspace 인수도 필요합니다. 다른 모든 인수는 선택 사항이며 순서에 따라 나열할 수 있습니다.
wsdl2soap
은 문서/
로깅 1.2 바인딩 생성을 지원하지 않습니다.
7.1.2. 예
시스템에 주문을 받아서 주문하기 위한 단일 작업을 제공하는 인터페이스가 있는 경우 예 7.1. “시스템 인터페이스 순서 지정” 에 표시된 것과 유사한 WSDL 조각에 정의되어 있습니다.
예 7.1. 시스템 인터페이스 순서 지정
<?xml version="1.0" encoding="UTF-8"?> <definitions name="widgetOrderForm.wsdl" targetNamespace="http://widgetVendor.com/widgetOrderForm" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://widgetVendor.com/widgetOrderForm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://widgetVendor.com/types/widgetTypes" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> <message name="widgetOrder"> <part name="numOrdered" type="xsd:int"/> </message> <message name="widgetOrderBill"> <part name="price" type="xsd:float"/> </message> <message name="badSize"> <part name="numInventory" type="xsd:int"/> </message> <portType name="orderWidgets"> <operation name="placeWidgetOrder"> <input message="tns:widgetOrder" name="order"/> <output message="tns:widgetOrderBill" name="bill"/> <fault message="tns:badSize" name="sizeFault"/> </operation> </portType> ... </definitions>
orderWidgets용으로 생성된 Cryostat 바인딩은 예 7.2. “orderWidgets를 위한 Cryostat 1.2 바인딩” 에 표시됩니다.
예 7.2. orderWidgets를 위한 Cryostat 1.2 바인딩
<binding name="orderWidgetsBinding" type="tns:orderWidgets"> <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="placeWidgetOrder"> <soap12:operation soapAction="" style="document"/> <input name="order"> <soap12:body use="literal"/> </input> <output name="bill"> <wsoap12:body use="literal"/> </output> <fault name="sizeFault"> <soap12:body use="literal"/> </fault> </operation> </binding>
이 바인딩은 문서/
일반 메시지 스타일을 사용하여 메시지가 전송되도록 지정합니다.