[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[xmlblaster-devel] python xml-rpc client, key with embedded ampersand
I am running xmlBlaster version 1.0.6 Xmas 2005-08-10
I'm using pyblaster, sending a key that contains an element, whose
element text includes an amper sign.
xml-blaster receives the xml-rpc request, but seems that somewhere, the
escaping of the amper is not handled properly.
I added a print statement to pyblaster.py, in XMLBlasterClient.publish()
XMLKEY = '<key contentMime="text/xml"><sfi type="instance">
<messageprocessor type="instance">
<dn>cn=brad.clements,o=sfiusa,dc=public,dc=strader-ferris,dc=com</dn>
<organization>Dew Engineering & Development In</organization>
<admin_message_type>party_username_signup</admin_message_type>
<message_type>admin_email</message_type>
<recipient_dn>cn=james.gendron,o=dew,dc=public,dc=strader-ferris,dc=com</recipient_dn>
</messageprocessor>
</sfi></key>'
You'll note that in the publish call, the amper in the <organization>
element is escaped.
However I get an xml-rpc error back from the publish call
(in this example, the key is slightly different, but it's the same basic
problem)
Module pyBlaster.pyBlaster, line 213, in publish
Module xmlrpclib, line 1032, in __call__
Module xmlrpclib, line 1319, in __request
Module xmlrpclib, line 1083, in request
Module xmlrpclib, line 1222, in _parse_response
Module xmlrpclib, line 745, in close
Fault: <Fault 0: "java.lang.Exception: errorCode=legacy message=#exported Problems when building DOM tree
from your XML-ASCII string: org.xml.sax.SAXParseException:
Illegal character or entity reference syntax.\n
<key oid='xmlBlaster_192_168_1_9_3412-1129841072925000000' contentMime='text/xml'>\n
<sfi type='instance'>
<messageprocessor type='instance'>
<dn>cn=brad.clements,o=sfiusa,dc=public,dc=strader-ferris,dc=com</dn>
<organization>Dew Engineering & Development In</organization>
<admin_message_type>party_username_signup</admin_message_type>
<message_type>admin_email</message_type>
<recipient_dn>cn=Janet.Collins,o=dew,dc=public,dc=strader-ferris,dc=com</recipient_dn>
</messageprocessor>
</sfi>\n
</key>">
Note that the returned error text does not show that the amp is escaped..
Etherreal shows that the xml text is all escaped.
<?xml version='1.0'?>
<methodCall>
<methodName>xmlBlaster.publish</methodName>
<params>
<param>
<value><string>sessionId:192.168.1.9-null-1129842706775-833827325-90409</string></value>
</param>
<param>
<value><string><key contentMime="text/xml">
<sfi type="instance"><messageprocessor type="instance">
<dn>cn=brad.clements,o=sfiusa,dc=public,dc=strader-ferris,dc=com
</dn><organization>Dew Engineering &amp; Development In
</organization><admin_message_type>party_username_signup
</admin_message_type><message_type>admin_email</message_type>
<recipient_dn>cn=james.gendron,o=dew,dc=public,dc=strader-ferris,dc=com
</recipient_dn></messageprocessor></sfi></key></string></value>
</param>
<param>
<value><string></string></value>
</param>
<param>
<value><string><qos>
<expiration lifeTime="30000" />
<priority>5</priority>
</qos></string></value>
</param>
</params>
</methodCall>
This looks like a problem in the xml-rpc server component of xml-blaster.
Is there a fix?
--
Brad Clements, bkc at murkworks.com (315)268-1000
http://www.murkworks.com
AOL-IM or SKYPE: BKClements