allegro.pl (ebay.com을 대신 할 수있는 대안)에 SOAP API를 사용하고 SOAP을 통해 이미지를 보내는 데 문제가 있습니다. 공식 포럼에서 같은 질문을하고 있었지만 불행히도 아무도 대답하지 못했습니다.ruby / savon을 사용하여 SOAP를 통해 base64binary (이미지)를 보냅니다.
어쨌든, PHP에서 (조각) 코드 (SOAP 메시지)를 작동하면 해당 같습니다
array(
'fid' => 16,
'fvalueImage' => file_get_contents('http://www.stropna_www.pl/images/obrazek.jpg')
참고이 전체 SOAP 메시지가 아니라 만들어진이 한 날이 밤 자고하지
그리고 잘 작동합니다. 설명서가 제대로 작동하지 않기 때문에 PHP를 사용하지 않아서 확신 할 수 없습니다. 내가 루비에서 file_get_contents에 대한 동등한를 찾고 있었다 나는 그물/HTTP와를 사용하려고 한 URL에서 파일을 열 오픈 URI 심지어
img = File.open('img.jpg', 'rb') { |f| f.read }
하지만, 서버가 반환을 시도 할 때마다 사용하려고 잘못된 XML.
이미지없이 요청을 보내려고하면 제대로 작동합니다.
여기에 루비의 전체 코드입니다 :
def self.do_new_auction_ext
img = File.open('img.jpg', 'rb') { |f| f.read }
xml_message = prepare_message("DoNewAuctionExtRequest", {
:sessionHandle => self.session_id,
:fields => [
{ :fid => 1, # Tytuł
:fvalueString => "Oferta Testowa ze zdjeciem", }, # TODO: Zmienne?
{ :fid => 2, # Kategoria
:fvalueInt => 1834 }, # TODO: Zmienne?
{ :fid => 4, # Czas trwania
:fvalueInt => 3 }, # 1 - 3 dni, 2 - 7 dni, 3 - 10 dni
{ :fid => 5, # Ilość
:fvalueInt => 12}, # TODO: Zmienne?
{ :fid => 8, # Cena kup teraz
:fvalueFloat => 50.00}, # TODO: Zmienne?
{ :fid => 9, # Kraj
:fvalueInt => 228}, # 1 - Polska, 228 - Neverland
{ :fid => 10, # Wojewodztwo
:fvalueInt => 215}, # Lewopolskie
{ :fid => 11, # Miejscowość
:fvalueString => "Bielsko-Biala"},
{ :fid => 14, # Formy platnosci
:fvalueInt => 1 }, # Płatne z góry przelewem
{ :fid => 16, # Zdjecie 1
:fvalueString => img },
#{ :fid => 15, # Opcje dodatkowe
# :fvalueInt => 2},
{ :fid => 24, # Opis
:fvalueString => "konik"},
{ :fid => 28, # Sztuki/Komplety/Pary
:fvalueInt => 1},
{ :fid => 32, # Kod pocztowy
:fvalueString => "43-300"},
{ :fid => 35, # Darmowe opcje przesylki
:fvalueInt => 2} # 1 - Odbior osobisty, 2 - e-mail, 4 - Odbior osobisty po przedplacie
]
})
# puts xml_message
response = @client.call(:do_new_auction_ext) do
xml xml_message
end
괜찮다 폴란드어 의견
prepare_message의 기능은 서버로 이동 XML을 생성, 그리고 꽤 있어요 그것으로 제대로 작동하는지 w/o 이미지로 서버가 응답해야합니다 (작동합니다!)
그러나, 함께 전자 이미지는 서버가
{:fault=>{:faultcode=>"Sender", :faultstring=>"Invalid XML"}}
으로 대응 전송 여기 website with working PHP code웹 사이트는 폴란드어에있는,하지만 코드는 PHP에서 폴란드어도의 here is the documentation마지막
및이지만, 영어 이름 및 추가를 포함 "아래에있는 코드"탭
Ruby 1.9.3 및 savon을 사용하여 모든 SOAP 요청을 보내고 있습니다 (작동하지만 이미지를 보내는 것은 아닙니다).
텍스트 벽에 사과드립니다. 가능한 한 최선을 설명하려고했습니다. 어떤 도움에 미리 감사드립니다, 그리고 심지어 읽어 주셔서 감사합니다이 :