拡張型を基本要素と置き換えて使用することは可能ですか、その逆も可能ですか?例えば、私はいくつかの要素を指定するWSDLを、拡張型は互換的に使用できますか?
を持っている:これらの要素のいずれかが他の場所で使用するために
<s:complexType name="Original">
<s:sequence>
<s:element name="basic" type="s:string"/>
</s:sequence>
</s:complexType>
<s:complexType name="Extended">
<s:complexContent mixed="false">
<s:extension base="tns:Original">
<s:sequence>
<s:element name="extra" type="s:string"/>
</s:sequence>
</s:extension>
</s:complexContent>
</s:complexType>
は、それが今まで可能ですか?
もちろん、さまざまなアプリケーションや実装ではさまざまなことが受け入れられるため、この質問はほとんどが正しいかどうかについての基準であり、標準に準拠しています。まだ規則に従いながら
<s:complexType name="Other">
<s:sequence>
<s:element name="Original" type="tns:Original"/>
</s:sequence>
</s:complexType>
それをExtended
を与えることができるだろう:そうは次のようにWSDLは、メッセージがOriginal
が含まれていることを指定した場合、さらに、私の元の例を拡張するために
?それ以外の方法はどうですか?など、あなたが少しハック何かをしようとした場合
何、:
<Original xsi:type="Extended">
<basic>foo</basic>
<extra>bar</extra>
</Original>
ありがとう!