我在spring-ws中使用DynamicWsdl11Definition來生成我的wsdl規範。最終,我得到一個沒有附加wsdl操作的wsdl錯誤的規範,因爲我不知道如何自動將特定的wsdl/soap操作與特定的wsdl錯誤聯繫起來。我怎樣才能做到這一點?有什麼辦法可以在XSD架構中將wsdl錯誤與wsdl操作相關聯嗎?Spring-WS:自動wsdl錯誤生成/關聯
這裏是我的XSD部分:
<xs:element name="setContextRequest">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="usageContext" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="setContextResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
這裏是我的例外:
<xs:element name="InvalidSessionException">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="InvalidSessionException" nillable="true" type="fault:InvalidSession"/>
</xs:sequence>
</xs:complexType>
</xs:element>
這裏是WSDL規範:
<wsdl:operation name="setContext">
<soap:operation soapAction=""/>
<wsdl:input name="setContextRequest">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="setContextResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
我的問題是如何關聯與該操作有關的錯誤最終會以:
<wsdl:operation name="setContext">
<soap:operation soapAction=""/>
<wsdl:input name="setContextRequest">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="setContextResponse">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="invalidSession" type="InvalidSession"/>
</wsdl:operation>
謝謝。
ps:我正在設置requestSuffix,responseSuffix和faultSuffix,從而也能夠生成wsdl錯誤消息。
故障是WSDL合同的一部分。我個人認爲讓他們在合同中上市會更好。請在上面找到一個示例方法。謝謝! – Aleyna
Spring不關心代碼Mark so add throws如果我在這裏得到它,語句將不會執行任何操作。我想我需要對模式本身進行一些更改,以便它會像生成wsdl操作一樣生成wsdl錯誤,我不知道該如何操作。我甚至不知道Spring是否支持 – Aleyna