Ruby에서 Savon gem을 사용하여 wsdl 웹 서비스에 요청을 게시하고 있습니다. 문제는, 내가 요청을 보낼 때, 응답은 나에게 응답이 괜찮다는 것을 보여 주지만 개발 팀의 도움을 받아 요청에서 보내는 항목이 하나도 없다는 것입니다. 웹 서비스가 요청을받지 못하는 것을 볼 수 있습니다. 항목, 그래서 내가 뭔가를 요청 형식이나 데이터를 잘못하고 있다고 생각할 수 있습니다. 왜냐하면 나는 Savon 2 안정을 사용하고 있기 때문에 XML을 Savon 직접 보낼 요청을 볼 수 없습니다.Ruby - SOAP WSDL - Savon Gem. 일부 데이터를 보내지 않은 보낸 요청의 오류
항목이 마지막 항목 인 'promotion_rules'입니다.
@result = @client.call(
:create_template, message: {
:item => [{
'promotion_id' => 1,
'initial_quantity' => 0,
:products => [{
:product => {
'id' => 3,
'quantity' => 1
}
}],
:lists => [{
:list => [
0,
1,
2
]
}],
:promotion_rules => [{
:promotion_rule => {
'code' => "NEW_USER",
'value' => 1
}
}]
}]
}
)
내가 얻을 응답은 다음과 같습니다
<xsd:element name="promotion_rules" maxOccurs="1" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="promotion_rule" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="code" type="xsd:string"/>
<xsd:element name="value" type="xsd:integer"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
가 사전에 감사합니다
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws.test.enterprise.com">
<SOAP-ENV:Body>
<ns1:createTemplateResponse>
<item>
<response>
<code>000</code>
<description>Aprobada</description>
<ticket>99999999</ticket>
</response>
<attention>
<begin>2016-12-23 10:49:50</begin>
<end>2016-12-23 10:49:50</end>
<time>0.2</time>
</attention>
<template_id>901</template_id>
</item>
</ns1:createTemplateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
이 항목에서 요구되는 특정 데이터는 다음과 같습니다.
감사합니다 요소는 '요소'해야합니다! 그게 제가 문제를 해결하는 데 도움이되었습니다! 나는 요청을 보여주기 위해 사범을 찾았고 오직 사범에 대해서만 발견했습니다. 3 –
환영합니다 - 다행히 도울 수 있습니다 ... –