我有一個簡單的html服務,在django開發。 你輸入你的名字 - 它發佈這個,並返回一個值(男/女)。通過http網絡服務的簡單XML
我需要將此作爲Web服務。我不知道從哪裏開始。
我想接受一個XML請求,並提供一個XML響應 - 這就是它。
任何人都可以給任何指針 - 谷歌搜索很難,當你不知道你在尋找什麼。
我有一個簡單的html服務,在django開發。 你輸入你的名字 - 它發佈這個,並返回一個值(男/女)。通過http網絡服務的簡單XML
我需要將此作爲Web服務。我不知道從哪裏開始。
我想接受一個XML請求,並提供一個XML響應 - 這就是它。
任何人都可以給任何指針 - 谷歌搜索很難,當你不知道你在尋找什麼。
請參閱django書中的Generating non-HTML content以獲取說明。
基本上,它是如此簡單:
def get_data(request, xml_data):
data = parse_xml_data(xml_data)
return_data = create_xml_blob(data)
return HttpResponse(return_data, mimetype='application/xml')
編輯:
您可以發送xml_data設置爲XML字符串後,也可以發送一個XML請求。
下面是XML數據發送到Web服務,改編自this site一些代碼:
xml_data = """<?xml version="1.0" encoding="UTF-8"?>
<root>my data here</root>
"""
#construct and send the header
webservice = httplib.HTTP("example.com")
webservice.putrequest("POST", "/rcx-ws/rcx")
webservice.putheader("Host", "example.com")
webservice.putheader("User-Agent", "Python post")
webservice.putheader("Content-type", "text/xml; charset=\"UTF-8\"")
webservice.putheader("Content-length", "%d" % len(xml_data))
webservice.endheaders()
webservice.send(xml_data)
從Django中,你會使用request.raw_post_data
直接在XML來獲得。
我不擔心生成非html內容。接受一個XML請求是我想要做的。 – Mark 2010-05-13 11:24:43
發送一個帖子,將變量xml_data設置爲你的xml數據。以utf-8編碼。 – 2010-05-13 12:39:11
在「SOAP」上搜索。 – 2010-05-13 10:35:52