Forum: Ruby soap complex type seen as nil

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Raymond O. (Guest)
on 2007-02-09 12:00
I can't figure out how to pass a complex type to a soap call.  I thought
all you had to do was pass it as a hash, so I could do something like
this:


result = driver.GetArticle('Request' => {'ArticleId' => '20061208',
'Email' => 'removed_email_address@domain.invalid', 'Password' => 'mypassword'})


Unfortunately I always get this error:

SOAP::Mapping::MappingError: nil not allowed: ArticleId


Here is the schema I am working with:

<xs:complexType name="GetArticleRequestType">
    <xs:sequence>
        <xs:element name="ArticleId" type="xs:string"/>
        <xs:element name="Email" type="xs:string"/>
        <xs:element name="Password" type="xs:string"/>
    </xs:sequence>
</xs:complexType>

<xs:element name="GetArticle" type="tns:GetArticleType"/>
<xs:complexType name="GetArticleType">
    <xs:sequence>
        <xs:element minOccurs="0" name="Validate" type="xs:string"/>
        <xs:element minOccurs="0" name="XMLEscaping" type="xs:string"/>
        <xs:element maxOccurs="unbounded" minOccurs="0"
            name="Request" type="tns:GetArticleRequestType"/>
        <xs:element minOccurs="0" name="Shared"
type="tns:GetArticleRequestType"/>
        <xs:element minOccurs="0" name="SubscriptionId"
type="xs:string"/>
    </xs:sequence>
</xs:complexType>

Any help would be greatly appreciated
Mattias B. (Guest)
on 2008-09-15 17:44
Did you solve this problem? I have something simular.
Wouter d. (Guest)
on 2009-05-15 18:39
Any luck on this one?
This topic is locked and can not be replied to.