XML doesn't require the '>' character to be escaped, except in some
particular conditions (when following "]]"). I don't see anything wrong
with the escaping being done here.
From what you said, I'd suspect that the service really expects you to
use an <HTMLFragment> child element, as in Anne's second example. If
this is included in the schema the generated code should provide a way
to set this. Can you point us at the WSDL and schema?
- Dennis
Dennis M. Sosnoski
SOA, Web Services, and XML
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-296-6194 - Wellington, NZ +64-4-298-6117
Anne Thomas Manes wrote:
The problem is that it's only partially escaping the fragment for you.
You want the message to read either:
<ns1:DeviceInfo><HTMLFragment>True</HTMLFragment></ns1:DeviceInfo>
(which is how it should be if you are sending the value as a string) or
<ns1:DeviceInfo><HTMLFragment>True</HTMLFragment></ns1:DeviceInfo>
(which is sending the data as XML)
Anne
On 9/22/06, Satyajit Jha <[EMAIL PROTECTED]> wrote:
Hi Anne,
Thanks for your response.
I do believe that the problem is due to the reasons I mentioned. I
will try
to provide a context here. I am using axis2 generated client stub for
accessing MS Reporting Service (MSRS) 2005 web service. I am trying to
render HTML reports using this and I am able to do that. Now I want
HTMLFragment (just the table, without html and body tag) from the
report.
MSRS lets me do this by setting a parameter (DeviceInfo) of render
operation
to "<HTMLFragment>True</HTMLFragment>". When I pass this
value in setDeviceInfo method of Render, I get following SOAP-body in my
request message.
<soapenv:Body><ns1:Render
xmlns:ns1="http://schemas.microsoft.com/sqlserver/2005/06/30/reporting/reportingservices
">
<ns1:Format>HTML4.0</ns1:Format>
<ns1:DeviceInfo><HTMLFragment>True</HTMLFragment></ns1:DeviceInfo>
</ns1:Render></soapenv:Body>
And this must be a bad request. Please let me know if you have any
idea on
how to avoid this problem.
Thanks,
Satyajit
On 9/23/06, Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
>
> It depends on the characters in your data. Converting the '<' to
> '<' is expected, but that's probably not what's causing your
> problem. You might have characters in the document that can't be
> properly escaped. If that's the case, you may not be able to send the
> data as a string. Why not just send the XML data as XML data?
>
> Anne
>
> On 9/21/06, Satyajit Jha <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > I am using a stub client generated from wsdl using axis
wsdl2java. I am
> > trying to execute an operation with a string parameter. When I
try to
pass
> > some XML data fragment as string for that parameter, it gives me
"HTTP
> > Transport error : '400' - 'Bad Request' " error. I looked at the
SOAP
> > request being generated. The '<' character in the XML string that I
passed
> > was modified into <. Now this happens, I believe, because the
stub
code
> > is using XMLStreamWriter.writeCharacters () on the XML string which
doesn't
> > accept any such character in the string. Now I dont know how I
should
> > resolve this problem. Is there anyway in which I can pass an XML
data as
> > string parameter. I will appreciate any help.
> >
> > Regards,
> > Satyajit
> >
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]