Returns values from XMLRpcServlet
John Boehme via Webware-discuss <webware-discuss-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org> Wed, 9 Mar 2022 15:42:15 -0800
| Newsgroups | gmane.comp.python.webware |
|---|---|
| Organization | Mophilly |
| Message-ID | <[email protected]> |
This is a multipart message in MIME format.
--===============7496833449964295695==
Content-Type: multipart/related;
boundary="----=_NextPart_000_005B_01D833CC.41B9F300"
Content-Language: en-us
This is a multipart message in MIME format.
------=_NextPart_000_005B_01D833CC.41B9F300
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_005C_01D833CC.41B9F300"
------=_NextPart_001_005C_01D833CC.41B9F300
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Hi All,
Newbie question that I can't seem to find an answer to.
On a return from a published XMLRpcServlet method, I need to returns 3
values. I was hoping to return the values in the following manner:
pkg = "<response>\n"
pkg += "<sn>" + row[14] + "</sn>\n"
pkg += "<cl_id>" + str(row[8]) + "</cl_id>\n"
pkg += "<reg_expiry>" + str(row[2]) + "</reg_expiry>\n"
pkg += "</response>\n"
return pkg
The result in the client is the following:
<params>
<param>
<value><string><response>
<sn>TESTPR 12345 67890 CCCCC</sn>
<cl_id>1858</cl_id>
<reg_expiry>2023-06-04</reg_expiry>
</response>
</string></value>
</param>
</params>
I can make this work, but was really hoping the result would be like:
<params>
<param>
<value><string><response>
<sn>TESTPR 12345 67890 CCCCC</sn>
<cl_id>1858</cl_id>
<reg_expiry>2023-06-04</reg_expiry>
</response>
</string></value>
</param>
</params>
If I do the following for the return value:
trans = self.transaction()
self.sendOK( 'text/xml', pkg, trans )
return ""
Where "pkg" is the xml structure:
<?xml version="1.0" ?>
<response>
<sn>TESTPR 12345 67890 CCCCC</sn>
<cl_id>1858</cl_id>
<reg_expiry>2023-06-04</reg_expiry>
</response>
The client receives the following:
<?xml version="1.0" \?>
<response>
<sn>TESTPR 12345 67890 CCCCC</sn>
<cl_id>1858</cl_id>
<reg_expiry>2023-06-04</regexpiry>
</response>
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><nil/></value></param>
</params>
</methodResponse>
Notice the package I want to return is there, but so is the default return
structure from the XMLRpcServlet class.
This is useful if I just ignore the second XML segment which is easy enough
to do (note: The content length of the header does not match either the
total return package length, or, the length of the default return structure
or the one I added).
I was hoping that the sendOK with the content would replace the default
return value, but it still puts the default in there.
I was looking for a method(s) to manage the return parameters/values. Is
there anything like that?
Is there a definition for changes to the input parameters to the method to
be returned to the client? Is that where I should be looking?
Is there another approach I should be using?
John Boehme
Software Engineer
Description: Mophily_Footer_50
------=_NextPart_001_005C_01D833CC.41B9F300
Content-Type: text/html;
charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta =
http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 14 =
(filtered medium)"><!--[if !mso]><style>v\:* =
{behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0in;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DEN-US link=3Dblue =
vlink=3Dpurple><div class=3DWordSection1><p class=3DMsoNormal>Hi =
All,<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>Newbie question that I can’t seem to find an =
answer to.<o:p></o:p></p><p class=3DMsoNormal>On a return from a =
published XMLRpcServlet method, I need to returns 3 values. I was hoping =
to return the values in the following manner:<o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'>pkg =3D =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>"<re=
sponse>\n"</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'><o:p></o:p></s=
pan></p><p class=3DMsoNormal style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'>pkg +=3D =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>"<sn=
>"</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'> + row[14] + =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>"</s=
n>\n"</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'><o:p></o:p></s=
pan></p><p class=3DMsoNormal style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'>pkg +=3D =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>"<cl=
_id>"</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'> + =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#2B91AF'>str</span><s=
pan style=3D'font-size:9.5pt;font-family:Consolas;color:black'>(row[8]) =
+ </span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>"</c=
l_id>\n"</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'><o:p></o:p></s=
pan></p><p class=3DMsoNormal style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'>pkg +=3D =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>"<re=
g_expiry>"</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'> + =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#2B91AF'>str</span><s=
pan style=3D'font-size:9.5pt;font-family:Consolas;color:black'>(row[2]) =
+ </span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>"</r=
eg_expiry>\n"</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'><o:p></o:p></s=
pan></p><p class=3DMsoNormal style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'>pkg +=3D =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>"</r=
esponse>\n"</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'><o:p></o:p></s=
pan></p><p class=3DMsoNormal style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:blue'>return</span><s=
pan style=3D'font-size:9.5pt;font-family:Consolas;color:black'> =
pkg<o:p></o:p></span></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>The result in the client is the =
following:<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'><params><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><param><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><value><string>&lt;response&gt;<o:p></o:p></spa=
n></p><p class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'>&lt;sn&gt;TESTPR 12345 67890 =
CCCCC&lt;/sn&gt;<o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'>&lt;cl_id&gt;1858&lt;/cl_id&gt;<o:p></o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'>&lt;reg_expiry&gt;2023-06-04&lt;/reg_expiry&gt;<o:p=
></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'>&lt;/response&gt;<o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'></string></value><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'></param><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'></params><o:p></o:p></span></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>I can make =
this work, but was really hoping the result would be =
like:<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'><params><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><param><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><value><string><response><o:p></o:p></span></p><p=
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'><sn>TESTPR 12345 67890 =
CCCCC</sn><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><cl_id>1858</cl_id><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'><reg_expiry>2023-06-04</reg_expiry><o:p></o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'></response><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'></string></value><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'></param><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'></params><o:p></o:p></span></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>If I do the =
following for the return value:<o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'>trans =3D =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:gray'>self</span><spa=
n =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'>.transaction()=
<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:gray'>self</span><spa=
n style=3D'font-size:9.5pt;font-family:Consolas;color:black'>.sendOK( =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>'text/xml'</=
span><span style=3D'font-size:9.5pt;font-family:Consolas;color:black'>, =
pkg, trans )<o:p></o:p></span></p><p class=3DMsoNormal =
style=3D'text-autospace:none'><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:blue'>return</span><s=
pan style=3D'font-size:9.5pt;font-family:Consolas;color:black'> =
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:#A31515'>""=
</span><span =
style=3D'font-size:9.5pt;font-family:Consolas;color:black'><o:p></o:p></s=
pan></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>Where “pkg” is the xml =
structure:<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier New"'><?xml =
version=3D"1.0" ?><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'><response><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier New"'><sn>TESTPR 12345 67890 =
CCCCC</sn><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><cl_id>1858</cl_id><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'><reg_expiry>2023-06-04</reg_expiry><o:p></o:p></span></=
p><p class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'></response><o:p></o:p></span></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>The client =
receives the following:<o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier New"'><?xml version=3D"1.0" =
\?><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><response><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier New"'><sn>TESTPR 12345 67890 =
CCCCC</sn><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><cl_id>1858</cl_id><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'><reg_expiry>2023-06-04</regexpiry><o:p></o:p></span></p=
><p class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'></response><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier New"'><?xml =
version=3D'1.0'?><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><methodResponse><o:p></o:p></span></p><p =
class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'><params><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><param><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'><value><nil/></value></param><o:p></o:p></s=
pan></p><p class=3DMsoNormal><span style=3D'font-family:"Courier =
New"'></params><o:p></o:p></span></p><p class=3DMsoNormal><span =
style=3D'font-family:"Courier =
New"'></methodResponse><o:p></o:p></span></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>Notice the =
package I want to return is there, but so is the default return =
structure from the XMLRpcServlet class.<o:p></o:p></p><p =
class=3DMsoNormal>This is useful if I just ignore the second XML segment =
which is easy enough to do (note: The content length of the header does =
not match either the total return package length, or, the length of the =
default return structure or the one I added).<o:p></o:p></p><p =
class=3DMsoNormal>I was hoping that the sendOK with the content would =
replace the default return value, but it still puts the default in =
there.<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>I was looking for a method(s) to manage the return =
parameters/values. Is there anything like that?<o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><p class=3DMsoNormal>Is there a =
definition for changes to the input parameters to the method to be =
returned to the client? Is that where I should be =
looking?<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal>Is there another approach I should be =
using?<o:p></o:p></p><p class=3DMsoNormal><o:p> </o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p><div =
style=3D'mso-element:para-border-div;border:none;border-bottom:solid =
windowtext 1.0pt;padding:0in 0in 1.0pt 0in'><p class=3DMsoNormal =
style=3D'border:none;padding:0in'><o:p> </o:p></p></div><p =
class=3DMsoNormal>John Boehme<o:p></o:p></p><p =
class=3DMsoNormal>Software Engineer<o:p></o:p></p><p =
class=3DMsoNormal><img width=3D219 height=3D96 id=3D"Picture_x0020_1" =
src=3D"cid:image001.png-+1OQGP2YqtVhWe+ItVNq/[email protected]" alt=3D"Description: =
Mophily_Footer_50"><o:p></o:p></p><p =
class=3DMsoNormal><o:p> </o:p></p></div></body></html>
------=_NextPart_001_005C_01D833CC.41B9F300--
------=_NextPart_000_005B_01D833CC.41B9F300
Content-Type: image/png;
name="image001.png"
Content-Transfer-Encoding: base64
Content-ID: <image001.png-+1OQGP2YqtVhWe+ItVNq/[email protected]>
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
------=_NextPart_000_005B_01D833CC.41B9F300--
--===============7496833449964295695==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============7496833449964295695==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Webware-discuss mailing list
Webware-discuss-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/webware-discuss
--===============7496833449964295695==--