2013-03-15 10 views
10

ile Sabun API çağrısı Nasıl, bu şimdiye kullanmaya teşebbüs ettik ilk SABUN olduğunu. Ben yapıştırılan ve bir SOAP öğretici bu kodun bazı değişmiştir, kopyalama, ama 10 farklı örneklerde 10 farklı şekilde yapılır, henüz hiçbiri kodu açıklanmasında çok açık gördük. Belki de aşağıdaki kod, bunu yapmanın en iyi yolu değildir, ama bu yüzden, biraz yardım ve içeri girmek için bir yol arıyorum. Çok teşekkürler.Geçmişte kullanılan API'leri ettik iken Python

import string, os, sys, httplib 

server_addr = "auctions.godaddy.com" 
service_action = "GdAuctionsBiddingWSAPI/GetAuctionList" 

body = """ 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.example.com/services/wsdl/2.0"> 
<soapenv:Header/> 
<soapenv:Body> 
<ns:serviceListRequest> 
<ns:userInfo> 
</ns:userInfo> 
</ns:serviceListRequest> 
</soapenv:Body> 
</soapenv:Envelope>""" 

request = httplib.HTTPConnection(server_addr) 
request.putrequest("POST", service_action) 
request.putheader("Accept", "application/soap+xml, application/dime, multipart/related, text/*") 
request.putheader("Content-Type", "text/xml; charset=utf-8") 
request.putheader("Cache-Control", "no-cache") 
request.putheader("Pragma", "no-cache") 
request.putheader("SOAPAction", "https://auctions.godaddy.com/gdAuctionsWSAPI/gdAuctionsBiddingWS.asmx?op=GetAuctionList" + server_addr + service_action) 
request.putheader("Content-Length", "length") 
request.putheader("apiKey", "xxxxxx") 
request.putheader("pageNumber", "1") 
request.putheader("rowsPerPage", "1") 
request.putheader("beginsWithKeyword", "word") 
request.endheaders() 
request.send(body) 
response = request.getresponse().read() 

print response 

cevap

10

Kendi SOAP istemcisini döndürmeye çalışmayın - adı olmasına rağmen, SOAP bir şey basittir.

herhangi decent SOAP library bulma ve SABUN iletişim için kullanırlar.

Genellikle which SOAP library is "the best" sorusu doğası gereği çekişmeli ve projeler girer ve demode olarak cevap, zamanla değişken olur. sizin kullanım durumu için iyi çalışıyor bir tane seç ve herhangi bir kendi yazma daha iyi olması muhtemeldir. suds kullanmak

+2

a la Python dokümantasyon kuralları * * ne değildir bir kullanıcı anlatmak için hiçbir neden yok. Aksine, OP kodundaki problemleri açıklamalısınız ya da bunun bir başka çözüm sunmadan bir çözüm olabileceğini öne sürmelisiniz. – Yuval

+1

@Yuval Cevap daha iyi bir çözüm önerdi - ikinci paragrafa bakın. Burada icat edilmemiş bir yaklaşıma karşı yapılan öneriler, iyi niyetle, iyi niyetle ve açık bir şekilde yön sorulan bir soruya cevap olarak verilmiştir. İki yıl sonra, tonunuza katılmasanız bile yine de iyi bir tavsiye. – user4815162342

+0

@ user4815162342 Lütfen cevabınızı güncelleyin. Linkler şimdi mevcut değil. –

1

ben size tavsiyelerde bulunabilir. Oldukça iyi ve yaygın olarak kullanılır.

Güncelleme: Temel ses kısıklığı uzun süre aktif değil. Şu anki projenin yeni bir çatalı var.

asuds project

+1

url artık çalışmıyor, yeni bir url sağlayabilir misiniz? – Ayoub

İlgili konular