我正在處理定義一些元素的WSDL文件。事情是這樣的:如何避免在具有相同SOAP頭的WSDL操作中重複自己
<wsdl:operation name="MyOperationName">
<soap:operation soapAction="http://www.domain.dk/myschema#MyService" style="document"/>
<wsdl:input name="MyServiceRequest">
<soap:header use="literal" part="SecurityHeader" message="tns:SecurityHeader"/>
<soap:header use="literal" part="SomethingElseHeader" message="tns:SomethingElseHeader"/>
<soap:header use="literal" part="WhitelistingHeader" message="tns:WhitelistingHeader" wsdl:required="true"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="MyServiceResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="MyFault">
<soap:fault name="MyFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
我有很多WSDL操作的,他們都有着肥皂相同的同一列表:頭元素:
<soap:header use="literal" part="SecurityHeader" message="tns:SecurityHeader"/>
<soap:header use="literal" part="SomethingElseHeader" message="tns:SomethingElseHeader"/>
<soap:header use="literal" part="WhitelistingHeader" message="tns:WhitelistingHeader" wsdl:required="true"/>
是否有某種方式來只有一次,然後定義此以某種方式將它「添加」到wsdl操作中作爲某種參考?這樣我只需要改變一個地方,如果標題改變或我需要添加一個新的標題。
我一直在試圖擴展這樣的wsdl:input元素(見下文),但我在這裏xml/wsdl明智地說出了我的深度。但這說明了我在尋找什麼。
<xs:complexType name="StandardHeaders">
<xs:simpleContent>
<xs:extension base="wsdl:operation">
<soap:header use="literal" part="SecurityHeader" message="tns:SecurityHeader"/>
<soap:header use="literal" part="SomethingElseHeader" message="tns:SomethingElseHeader"/>
<soap:header use="literal" part="WhitelistingHeader" message="tns:WhitelistingHeader" wsdl:required="true"/>
</xs:extension>xx
</xs:simpleContent>
</xs:complexType>
...
<wsdl:input name="MyServiceRequest">
<tns:StandardHeaders />