Я пытаюсь использовать WebService, где один из сложных типов в WSDL имеет имя поля, которое использует зарезервированное слово Ruby.Когда я вызываю метод, возвращающий один из этих сложных типов, и пытаюсь получить доступ к данным, я получаю сообщение об ошибке.
Как я могу использовать этот веб-сервис, который использует зарезервированное слово в Ruby?
Соответствующий раздел WSDL:
<s:complexType name="someObject">
<s:sequence>
<s:element minOccurs="0" name="field1" type="s:string"/>
<s:element minOccurs="0" name="field2" type="s:boolean"/>
<s:element minOccurs="0" name="field3" type="s:string"/>
<s:element minOccurs="0" name="class" type="s:string"/>
<s:element minOccurs="0" name="field4" type="s:string"/>
</s:sequence>
<s:attribute form="unqualified" name="type" type="s:string"/>
</s:complexType>
Вот возвращающийся XMLиз моего вызова метода:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<MethodCallResponse>
<MethodCallResult>
<results>
<object type="someObject">
<field1>Whatever</field1>
<field2>true</field2>
<field3>TCP</field3>
<class>CLIENT</class>
</object>
</results>
</MethodCallResult>
</MethodCallResponse>
</soap:Body>
</soap:Envelope>
Ошибка:
undefined method `class_eval' for "CLIENT":String
Я использую ruby 1.8.7-p302.