On Wednesday, April 20, 2016 at 10:05:02 AM UTC-7, Joaquin Alzola wrote:
> Hi Guys
> 
> I am currently doing this:
> 
> IP client(Python) --> send SOAPXML request --> IP Server (Python)
> 
> SOAP request:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
> xmlns:req="http:/
> /request.messagepush.interfaces.comviva.com" 
> xmlns:xsd="http://request.messagepush.interfaces
> .comviva.com/xsd">
> <xsd:text>test\ntest\ntest<{[£ EURO&%]}></xsd:text>
> 
> From my IP Client:
> s.send(data_send.encode('utf-8'))
> 
> From my IPServer:
> xml_decoded = data.decode('utf-8')
>                               xml_root = 
> ET.ElementTree(ET.fromstring(xml_decoded)).getroot()
>                               for elem in xml_root.getiterator():
>                                              
> if('{http://request.messagepush.interfaces.comviva.com/xsd}shortCode'==elem.tag):
>                                                             shortCode = 
> (elem.text).rstrip()
>                                              
> if('{http://request.messagepush.interfaces.comviva.com/xsd}text'==elem.tag):
>                                                             send_text = 
> (elem.text).rstrip()
>                                              
> if('{http://request.messagepush.interfaces.comviva.com/xsd}item'==elem.tag):
>                                                             subscribers = 
> (elem.text).rstrip()
>                               result_sms = 
> send_sms(subscribers,shortCode,send_text)
> 
> It is working fine but I am having problems with a couple of special 
> characters, & and <
> 
> The problem:
> <xsd:text>test\ntest\ntest<{[£ EURO&%]}></xsd:text>
> 
> It seems as if I send this: <> and the character & then I have a problem.
> I need to use utf-8 as I need to make sure I get 160 characters in one SMS.
> 
> Error:
> Traceback (most recent call last):
>   File "./ipserver.py", line 52, in <module>
>     main()
>   File "./ipserver.py", line 36, in main
>     xml_root = ET.ElementTree(ET.fromstring(xml_decoded)).getroot()
>   File "/usr/lib64/python3.4/xml/etree/ElementTree.py", line 1325, in XML
>     parser.feed(text)
> xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 19, 
> column 48
> This email is confidential and may be subject to privilege. If you are not 
> the intended recipient, please do not copy or disclose its content but 
> contact the sender immediately upon receipt.

If I had to make a guess, you need to escape the <, >, and &characters or else 
they'll get parsed by the XML parser.  Try sending 
"<xsd:text>test\ntest\ntest&lt;{[£ EURO&amp;%]}&gt;</xsd:text>"
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to