통화에 대해 netsuite API를 쿼리하려고합니다. SOAP UI 클라이언트에서 다음 SOAP 요청이 작동합니다. 그러나 나는 루비의 savon gem version 0.9.7에서 같은 작업을하려고 힘들게 노력하고있다.savon soap 속성
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:messages_2012_2.platform.webservices.netsuite.com" xmlns:urn1="urn:core_2012_2.platform.webservices.netsuite.com">
<soapenv:Header>
<urn:passport>
<urn1:email>[email protected]</urn1:email>
<urn1:password>xxx</urn1:password>
<urn1:account>xxx</urn1:account>
</urn:passport>
</soapenv:Header>
<soapenv:Body>
<urn:getAll>
<urn:record recordType="currency"/>
</urn:getAll>
</soapenv:Body>
</soapenv:Envelope>
기본적으로 나는 urn : record 요소에 속성을 설정할 수 없습니다. 다음 작동하지 않습니다.
response = client.request :urn, :get_all do
soap.body = { "urn:record" => { :attributes! => { "recordType" => "currency" } } }
end
알려주세요.
감사합니다. Steffen, 앞으로 얻은 것 같습니다. 하지만 지금은 "enap :"대신 Header 및 Body 태그의 접두사로 "soapenv :"가 필요하다고 생각하기 때문에 실패합니다. 그 접두어를 어떻게 사용하는지 알고 있습니까? –
그것의'soap.env_namespace = "soapenv"'하지만 그것은 비누 헤더를 보내지 않는 것으로 도움이되지 못했습니다. –
마지막으로'soap.header = passport_header' 설정으로 작업했습니다. { ': 여권 항아리'=> { '항아리 : 이메일'=> NETSUITE_EMAIL, '항아리 : 비밀번호'=> NETSUITE_PWD, '항아리 : 계정'=> NETSUITE_ACCT } 은} passport_header은 어디 –