私はspring-wsでDynamicWsdl11Definitionを使用して私のwsdl仕様を生成しています。最終的に、特定のwsdl/soap操作を特定のwsdlフォールトと自動的に関連付ける方法がわからないため、wsdl操作にwsdlフォールトを付けずに仕様を取得しています。どうやってやるの? wsdlフォールトをXSDスキーマの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はコードを気にしません。マークをつけると、ここでそれを得ると何もしません。私はそれがwsdl操作のための方法と同じようにwsdlフォルトを生成するように、スキーマ自体を変更する必要があると思います。私は春がそれをサポートしているかどうか分からない。 – Aleyna