#ruby-on-rails #ruby
#ruby-on-rails #ruby
Вопрос:
Я новичок в Ruby. У меня возникли проблемы с передачей параметров веб-методу.
factory = SOAP::WSDLDriverFactory.new('https://api.affili.net/V2.0/Logon.svc?wsdl')
driver = factory.create_rpc_driver
driver.Logon(...)
Как я могу передать требуемые параметры? Я пытался передать массив, но параметры равны нулю, я попытался создать класс для параметров .. но возникают те же проблемы.
WSDL для входа в систему является
<xsd:complexType name="Logon">
<xsd:sequence>
<xsd:element minOccurs="0" name="Username" nillable="true" type="xsd:string"/>
<xsd:element minOccurs="0" name="Password" nillable="true" type="xsd:string"/>
<xsd:element name="WebServiceType" type="tns:WebServiceTypes"/>
<xsd:element minOccurs="0" name="DeveloperSettings" nillable="true" type="tns:TokenDeveloperDetails"/>
<xsd:element minOccurs="0" name="ApplicationSettings" nillable="true" type="tns:TokenApplicationDetails"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Logon" nillable="true" type="tns:Logon"/>
Как я могу передать параметры методу Logon?
Спасибо
Ответ №1:
Передайте параметры в виде хэша методу входа в систему
factory = SOAP::WSDLDriverFactory.new('https://api.affili.net/V2.0/Logon.svc?wsdl')
driver = factory.create_rpc_driver
parameters = {
'Username' => 'your-username',
'Password' => 'your-password',
'WebServiceType' => 'your-webservicetype',
'DeveloperSettings' => 'your-settings',
'ApplicationSettings' => 'your-appsettings'
}
driver.Logon(parameters)
Удачи!