Soap complex type seen as nil


#1

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


#2

Did you solve this problem? I have something simular.


#3

Any luck on this one?