ウォッシュアウトを使用して再利用可能な型を作成する空の名前属性を持つ複合型を作成することに気づきましたか?無効なWSDLを生成するように見えるので、とにかくこれを回避しますか?
<xsd:complexType name="">
<xsd:sequence>
<xsd:element name="universe" type="tns:universe"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="universe">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="age" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
サンプルコード
class Fluffy < WashOut::Type
map :universe => {
:name => :string,
:age => :int
}
end
class FluffyContainer < WashOut::Type
type_name 'fluffy_con'
map :fluffy => Fluffy
end
モジュール
module soapActions
def self.sample_request()
{ :fluffy => Fluffy }
end
end
コントローラ
soap_action "SampleReqest", :args => SbActions.sample_request(), :return => :string
これは私がそれがレンダリングすることを期待するべきものです
<xsd:complexType name="universe">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="age" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>