python - Send XML to activeMQ using Django -
i trying send xml file generated using 'elementtree' activemq server using python django 'requests' library .my views.py code :
from django.shortcuts import render import requests import xml.etree.celementtree et # create views here. def index(request): return render(request,"indexer.html") def xml(request): root = et.element("root") doc = et.subelement(root, "doc") field1 = et.subelement(doc,"field1") et.subelement(doc, "field2", fame="yeah", name="asdfasd").text = "some vlaue2" et.subelement(field1,"fielder", name="ksd").text = "valer" tree = et.elementtree(root) headers = {} tree.write("filename.xml", encoding = "us-ascii", xml_declaration = 'utf-8', default_namespace = xml, method = "xml") url = 'http://localhost:8082/testurl/' headers = {'content-type': 'application/xml'} files = {'file': open('filename.xml', 'rb')} requests.post(url, files=files, headers = headers) return render(request,"indexer.html")
and there simple submit button on indexer.html page.
<html> <head> </head> <body> <form method="post" action="/xml/">{% csrf_token %} <input type="submit" value="submit"> </form> </body> </html>
when click submit button it's generating filename.xml file , sending activemq server, @ activemq getting xml message contains header information . ,is possible send body part without header or how omit header @ activemq side , keep body/data part ? @ activemq i'm getting following message:
--6dc760762ba245eb8e4c3d72aa38062b content-disposition: form-data; name="file"; filename="filename.xml" <root><doc><field1><fielder name="ksd">valer</fielder></field1><field2 fame="yeah" name="asdfasd">some vlaue2</field2></doc></root> --6dc760762ba245eb8e4c3d72aa38062b--
i suggest looking @ using available stomp protocol instead of http. you'll have more control on message payloads , message headers.
python library: https://pypi.python.org/pypi/stomp.py activemq support: http://activemq.apache.org/stomp.html
Comments
Post a Comment