Loading ...
Sorry, an error occurred while loading the content.

4290Re: XML Fragment in String Data causes Soap Error ...

Expand Messages
  • etaekema
    Jan 6, 2005
    • 0 Attachment
      Thankd Joe. The client is something written in .NET ... I've asked
      them to try to encode the freeform string parameters ... hopefully
      they can do that. I thought that soap::lite did the encoding too,
      but it appears in my case that it doesn't. I am accessing the
      service through a wsdl .. is it possible that the wsdl is somehow
      specifying something different?



      > On Thu, 6 Jan 2005, etaekema wrote:
      > >
      > >
      > > Hello everyone. I have a fairly simple soap server that takes
      > > from a customer issue management system and transfers them to a
      > > different issue management tool. The trouble I am having is that
      > > some of the data is "free form" entry and is likely to have
      > > incomplete / partial xml tags in the data. All the data passed to
      > > the webservice are String types and when the soap::lite server
      > > receives the data it is choking on the partial/embedded data in
      > > string .... I don't have a lot of control on the sending
      side ... Is
      > > there an encoding trick to solve this?
      > >
      > > Something as simple as this fails ...
      > > my $issue_description="The <tag> configuration doesn't work";
      > > my $result = $service->submitIssue($issue_description);
      > >
      > > because the <tag> item isn't closed .... but since this is just
      > > entered text ... there isn't much I can do about it ...
      > It's a problem with the SOAP client -- they're not escaping
      > use CGI ( escapeHTML );
      > my $result = $service->submitIssue( escapeHTML
      ($issue_description) );
      > If the client was SOAP::Lite, it should've done it for you, unless
      > overriden the serializer. [which I did once, and tried just marking
      > strings as CDATA, but the SOAP::Lite deserializer choked hard on it]
      > If you only have access to the server, you might want to make check
      > _exactly_ what had been received, and verify if it's coming in
      > if it is, you need to fix the non-compliant client. If it isn't,
      or if
      > it's marking the strings as DATA or CDATA, rather than encoding the
      > entities, you'll need to modify the deserializer to support that.
      > -----
      > Joe Hourcle
    • Show all 6 messages in this topic