I tried "http://java.sun.com/xml/stream/properties/report-cdata-event" first, but it didn't have any effect in this instance, but I remember it worked earlier when creating a direct XMLInputFactory instance for use sometime back.
Upul On Fri, Mar 28, 2008 at 3:13 AM, Andreas Veithen <[EMAIL PROTECTED]> wrote: > Hi all, > > I'm pretty sure that coalescing is turned of by default. I think what > is really needed is to activate the following property: > > "http://java.sun.com/xml/stream/properties/report-cdata-event" > > As the URI implies, this property was introduced by Sun's > implementation, but it seems to be supported by Woodstox as well. > > Finally, I don't think that changes to AXIOM are required. Looking at > the StAXUtils code, it appears that you can get a reference to the > XMLInputFactory by calling StAXUtils.getXMLInputFactory(). > > It should be quite easy to test if this approach works. If it does we > need to check if Axis has support for setting properties on the > XMLInputFactory in its configuration file. Otherwise I suggest to add > support to Synapse for that. > > Andreas > > On 27 Mar 2008, at 20:17, Upul Godage wrote: > > In AXIOM StAXUtils class when creating XMLInputFactory objects in > > getXMLInputFactory() methods, (which are used by different > > createXMLStreamReader() methods,) it can be instructed to preserve > > CDATA as > > CDATA by the following statement. > > xmlInputFactory.setProperty(XMLInputFactory.IS_COALESCING, > > Boolean.FALSE); > > But AXIOM code has to be changed for that. > > > > Upul > > > > On Thu, Mar 27, 2008 at 9:00 PM, Jeff Davis <[EMAIL PROTECTED]> > > wrote: > > > >> I suppose one horrible hack I could employ would be to use a Ruby > >> script > >> or > >> Java class to post it as a regular HTTP post and then simply not > >> specify a > >> send element so that it doesn't get posted from Synapse? > >> > >> jeff > >> > >> On Thu, Mar 27, 2008 at 9:25 AM, Jeff Davis <[EMAIL PROTECTED]> > >> wrote: > >> > >>> I played around with a jRuby script that adds the CDATA segment > >>> back, > >> but > >>> unfortunately, when the XML is sent out, it again resorts to the > >>> other > >>> behavior (this is probably an obvious thing to you guys,but I'm > >>> not as > >>> familiar with the inner workings of Synapse). It sounds like I > >>> might be > >> out > >>> of luck here, and as someone pointed earlier, it's not an issue with > >>> Synapse, per se, but an erroneously design web service. > >>> > >>> I take it there is no way to send back a "raw" request, whereby no > >>> XML > >>> processing is done (basically posts a string, as-is). > >>> > >>> jeff > >>> > >>> > >>> On Thu, Mar 27, 2008 at 8:51 AM, Paul Fremantle <[EMAIL PROTECTED]> > >> wrote: > >>> > >>>> Is there a way we can create a mediator that reconverts back to a > >>>> CDATA? I've played around a bit with Axiom, but it seems a little > >>>> tricky to force CDATA. > >>>> > >>>> Paul > >>>> > >>>> ---------- Forwarded message ---------- > >>>> From: Paul Fremantle <[EMAIL PROTECTED]> > >>>> Date: Thu, Mar 27, 2008 at 2:19 PM > >>>> Subject: Re: Interesting problem introduced by CDATA section > >>>> To: [email protected] > >>>> > >>>> > >>>> Jeff > >>>> > >>>> The annoying answer is that the service is wrong - its an XML error > >> to > >>>> differentiate between those two XMLs. > >>>> However, we'll see if there is a way to sort this out. > >>>> > >>>> Paul > >>>> > >>>> > >>>> > >>>> On Thu, Mar 27, 2008 at 4:28 AM, Jeff Davis <[EMAIL PROTECTED]> > >> wrote: > >>>>> Well, the problem is that the web service receiving the request > >>>> validates > >>>>> it, and they have it setup on their side so that if the CDATA > >> isnt' > >>>> present, > >>>>> the service call fails because of validation errors. I have to > >> have > >>>> that > >>>>> present or it won't work (it's a partner's service). > >>>>> > >>>>> jeff > >>>>> > >>>>> > >>>>> > >>>>> On Wed, Mar 26, 2008 at 10:05 PM, Upul Godage <[EMAIL PROTECTED] > >>> > >>>> wrote: > >>>>> > >>>>>> Content wise there is no difference between CDATA sections and > >> the > >>>>>> resultant > >>>>>> escaped text data. < cannot be in parsed character data so it > >> is > >>>>>> converted > >>>>>> to < so it is not mixed up with element starting elements. I > >>>> think when > >>>>>> reading from the parser, default parser does not make a > >> difference > >>>> between > >>>>>> the CDATA sections and the normal text sections and the Synapse > >>>> sees them > >>>>>> as > >>>>>> just normal text. So the significance of CDATA markers are > >> dropped > >>>> when it > >>>>>> is parsed. Only the serialized form changes but the "content > >>>> remains > >>>>>> exactly > >>>>>> the same." > >>>>>> > >>>>>> Do you face a problem when not having it in the extact CDATA > >> form? > >>>>>> > >>>>>> Upul > >>>>>> > >>>>>> > >>>>>> > >>>>>> On Thu, Mar 27, 2008 at 8:07 AM, Jeff Davis <[EMAIL PROTECTED]> > >>>> wrote: > >>>>>> > >>>>>>> I'm attempting to access a SOAP web service that, > >> unfortunately, > >>>> uses a > >>>>>>> CDATA section within the body of the XML (this wasn't my > >>>> choosing, :-). > >>>>>>> The > >>>>>>> abbreviated XML looks like: > >>>>>>> > >>>>>>> <env:Envelope xmlns:env="http://www.xxx.com/hrit/envelope" > >>>>>>> xmlns:hrxml="http://ns.hr-xml.org/2004-08-02" > >>>>>>> xmlns:datetime="http://exslt.org/dates-and-times"> > >>>>>>> <env:Sender> > >>>>>>> <env:id>test</env:id> > >>>>>>> </env:Sender> > >>>>>>> > >>>>>>> <env:Packet> > >>>>>>> <env:PacketInfo packetType="data"> > >>>>>>> <env:packetId>1</env:packetId> > >>>>>>> </env:PacketInfo> > >>>>>>> <env:payload><![CDATA[ > >>>>>>> <Candidate xmlns="http://ns.hr-xml.org/2004-08-02" > > >>>>>>> <test> > >>>>>>> <info>this is a test</info> > >>>>>>> </test>]]></env:payload> > >>>>>>> </env:Packet> > >>>>>>> </env:Envelope> > >>>>>>> > >>>>>>> The issue I encounter is that, when this is sent out by > >> Synapse, > >>>> it > >>>>>>> appears > >>>>>>> as (not showing the soap wrapper): > >>>>>>> > >>>>>>> <env:Envelope xmlns:hrxml="http://ns.hr-xml.org/2004-08-02" > >>>>>>> xmlns:datetime=" > >>>>>>> http://exslt.org/dates-and-times"> > >>>>>>> <env:Sender> > >>>>>>> <env:id>test</env:id> > >>>>>>> </env:Sender> > >>>>>>> > >>>>>>> <env:Packet> > >>>>>>> <env:PacketInfo packetType="data"> > >>>>>>> <env:packetId>1</env:packetId> > >>>>>>> </env:PacketInfo> > >>>>>>> <env:payload> > >>>>>>> <Candidate xmlns=" > >> http://ns.hr-xml.org/2004-08-02" > >>>>>>> xmlns:oa=" > >>>>>>> http://www.openapplications.org/oagis" xmlns:ds=" > >>>>>>> http://www.w3.org/2000/09/xmldsig#"> > >>>>>>> <test> > >>>>>>> <info>this is a test</info> > >>>>>>> </test></env:payload> > >>>>>>> </env:Packet> > >>>>>>> </env:Envelope> > >>>>>>> > >>>>>>> Notice the CDATA section has disappeared, and the unwanted > >> < > >>>> appear > >>>>>> in > >>>>>>> lieu of the < within that. Researching the issue a bit, I > >>>> discovered > >>>>>> this > >>>>>>> is > >>>>>>> the expected behavior from Saxon (which I believe is the XSTL > >>>> being used > >>>>>>> by > >>>>>>> Synapse). I can reproduce this if I just use a blank > >> stylesheet. > >>>> Now, if > >>>>>> I > >>>>>>> apply this stylesheet and run it through Saxon manually, it > >>>> works great: > >>>>>>> > >>>>>>> <xsl:stylesheet xmlns:xsl=" > >> http://www.w3.org/1999/XSL/Transform" > >>>>>> version=" > >>>>>>> 2.0" xmlns:env="http://www.xxx.com/hrit/envelope"> > >>>>>>> <xsl:output use-character-maps="xml" > >>>>>>> cdata-section-elements="env:payload"/> > >>>>>>> <xsl:character-map name="xml"> > >>>>>>> <xsl:output-character character="<" string="<" /> > >>>>>>> <xsl:output-character character=">" string=">" /> > >>>>>>> <xsl:output-character character="
" string="
" > >> /> > >>>>>>> <xsl:output-character character="/" string="/" > >> /> > >>>>>>> <xsl:output-character character="" > >>>>>> string="<![CDATA["/> > >>>>>>> <xsl:output-character character="" > >> string="]]>"/> > >>>>>>> </xsl:character-map> > >>>>>>> > >>>>>>> <xsl:template match="/'"> > >>>>>>> <xsl:copy-of select="*" /> > >>>>>>> </xsl:template> > >>>>>>> > >>>>>>> </xsl:stylesheet> > >>>>>>> > >>>>>>> Unfortunately, when I plugin this stylesheet into the Synapse > >>>> <in> > >>>>>> route, > >>>>>>> it > >>>>>>> has no apparent affect (I twiddled with it to make sure it > >> was, > >>>> in fact, > >>>>>>> being used, and it was). > >>>>>>> > >>>>>>> This is leaving me with a real quandary -- any suggestions? > >>>>>>> > >>>>>>> jeff > >>>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> Jeff Davis > >>>>> Senior Architect > >>>>> Idalica Corporation > >>>>> MSN: [EMAIL PROTECTED] > >>>>> Skype: jeffdavis_ca > >>>>> Phone: 719-287-8656 > >>>>> Enabling Business Through Open Source Technologies > >>>>> www.idalica.com > >>>>> > >>>>> IMPORTANT: This electronic message is for exclusive use by the > >>>> person(s) to > >>>>> whom it is addressed, and may contain information that is > >>>> confidential or > >>>>> privileged and exempt from disclosure under applicable law. If you > >>>> are not > >>>>> an intended recipient, please be aware that any disclosure, > >>>> dissemination, > >>>>> distribution or copying of this communication, or the use of its > >>>> contents, > >>>>> is prohibited. If you have received this message in error, please > >>>>> immediately notify the sender of your inadvertent receipt and > >> delete > >>>> this > >>>>> message from all data storage systems. > >>>>> > >>>> > >>>> > >>>> > >>>> -- > >>>> Paul Fremantle > >>>> Co-Founder and VP of Technical Sales, WSO2 > >>>> Apache Synapse PMC Chair > >>>> OASIS WS-RX TC Co-chair > >>>> > >>>> blog: http://pzf.fremantle.org > >>>> [EMAIL PROTECTED] > >>>> > >>>> "Oxygenating the Web Service Platform", www.wso2.com > >>>> > >>>> > >>>> > >>>> -- > >>>> Paul Fremantle > >>>> Co-Founder and VP of Technical Sales, WSO2 > >>>> Apache Synapse PMC Chair > >>>> OASIS WS-RX TC Co-chair > >>>> > >>>> blog: http://pzf.fremantle.org > >>>> [EMAIL PROTECTED] > >>>> > >>>> "Oxygenating the Web Service Platform", www.wso2.com > >>>> > >>> > >>> > >>> > >>> -- > >>> Jeff Davis > >>> Senior Architect > >>> Idalica Corporation > >>> MSN: [EMAIL PROTECTED] > >>> Skype: jeffdavis_ca > >>> Phone: 719-287-8656 > >>> Enabling Business Through Open Source Technologies > >>> www.idalica.com > >>> > >>> IMPORTANT: This electronic message is for exclusive use by the > >>> person(s) > >>> to whom it is addressed, and may contain information that is > >> confidential or > >>> privileged and exempt from disclosure under applicable law. If you > >>> are > >> not > >>> an intended recipient, please be aware that any disclosure, > >> dissemination, > >>> distribution or copying of this communication, or the use of its > >> contents, > >>> is prohibited. If you have received this message in error, please > >>> immediately notify the sender of your inadvertent receipt and delete > >> this > >>> message from all data storage systems. > >>> > >> > >> > >> > >> -- > >> Jeff Davis > >> Senior Architect > >> Idalica Corporation > >> MSN: [EMAIL PROTECTED] > >> Skype: jeffdavis_ca > >> Phone: 719-287-8656 > >> Enabling Business Through Open Source Technologies > >> www.idalica.com > >> > >> IMPORTANT: This electronic message is for exclusive use by the > >> person(s) > >> to > >> whom it is addressed, and may contain information that is > >> confidential or > >> privileged and exempt from disclosure under applicable law. If you > >> are not > >> an intended recipient, please be aware that any disclosure, > >> dissemination, > >> distribution or copying of this communication, or the use of its > >> contents, > >> is prohibited. If you have received this message in error, please > >> immediately notify the sender of your inadvertent receipt and > >> delete this > >> message from all data storage systems. > >> > >
