you need to manually build up your SOAPEnvelope and pass that to call.invoke instead of passing your XML as a string
On 31/08/05, Plorks mail <[EMAIL PROTECTED]> wrote: > > I use document/literal sytle > > > looking at the soap using tcpmon it looks like this > > > <?xml version="1.0" encoding="UTF-8"?> > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <getListResponse xmlns=""> > <getListReturn><![CDATA[<?xml version="1.0" > encoding="UTF-8"?> > <ROOT><RECORD><id>1</id><id>1</id><contactid>20</contactid&id>1</id><contactid>29</contactid><emailcount>2</emailcount><emailaddress>[EMAIL > PROTECTED]</emailaddress></RECORD></ROOT> > ]]></getListReturn> > </getListResponse> > </soapenv:Body> > </soapenv:Envelope> > > > but when i retutn the result using call.invoke the xml is well formed > > > > > > > >From: "Chris Nappin" <[EMAIL PROTECTED]> > >Reply-To: [email protected] > >To: <[email protected]> > >Subject: RE: xml with strange characters > >Date: Wed, 31 Aug 2005 09:57:17 +0100 > > > >You might be able to get away with that if you know your XML never contains > >"]]". > > > >The "proper" way to pass XML in a web service is to use the > >"document/literal" style - have a look at the Axis User guide for further > >details. > > > > > >-----Original Message----- > >From: Plorks mail [mailto:[EMAIL PROTECTED] > >Sent: 31 August 2005 09:52 > >To: [email protected] > >Subject: Re: xml with strange characters > > > > > > > >thanks - don't know whether you have heard of it, but we are uisng a > >product called laszlo and even though the xml i return is perfect when i > >write a java client to my web service when laszlo is used it escapes the > >angle brackets - we have now found out xml isn't supported! > > > >so now i have to re-write my ws > > > >i have this code which returns the xml > > > >StringWriter writer = new StringWriter(); > > > >// create a resultsetbuilder to transform resultset to XML > >try > >{ > >RecordsetToXML rsXML = new RecordsetToXML(rs, "ROOT", "RECORD"); > > > >// create the XML from recordset > >Document jDOMDoc = rsXML.build(); > >rs = null; > >XMLOutputter outputter = new XMLOutputter(); > >outputter.output(jDOMDoc, writer); > >result = writer.toString(); > >//System.out.print("XML " + writer); > >writer.close(); > >} > > > >....... > > > >return result; > > > > > >So do i do this - [CDATA[writer.toString()]] > > > > > >when i'm testing i do String ret - (String) call.invoke(new > >Object[]{params}); as normal > > > > > > > >thanks for your help > > > > > > > > > > > > > > >From: Guy Rixon <[EMAIL PROTECTED]> > > >Reply-To: [email protected] > > >To: [email protected] > > >Subject: Re: xml with strange characters > > >Date: Wed, 31 Aug 2005 09:17:46 +0100 (BST) > > > > > >CDATA like this: instead of > > > > > > String s = "<someXmlStructure>...</someXmlStructure>"; > > > > > >put > > > > > > String s = "<![CDATA[<someXmlStructure>...</someXmlStructure>]]>"; > > > > > >in the string that you return from your service implementation. This > >makes > > >the > > >return message something like > > > > > ><soap:envelope> > > > <soap:body> > > > <xsd:string> > > > <![CDATA[<someXmlStructure>...</someXmlStructure>]]> > > > </xsd:string> > > > </soap:body> > > ></soap:envelope> > > > > > > > > >See > > > > > > http://www.w3schools.com/xml/xml_cdata.asp > > > > > >for more details and examples. > > > > > >However, doing it that way is against the spirit of SOAP. You should > >really > > >have your someXmlStructure directly in the body of the message: > > > > > ><soap:envelope> > > > <soap:body> > > > <someXmlStructure>...</someXmlStructure> > > > </soap:body> > > ></soap:envelope> > > > > > >If you mapped someXmlStructure to SomeJavaClass using WSDL2Java, then you > > >could return an instance of SomeJavaClass from your service > >implementation > > >and > > >Axis would serialize it into the required XML. If you want to generate > >your > > >someXmlStructure as a DOM, then you might be able to get that serialized; > > >check out the SAAJ spec. (Anybody have a succint example of returning a > >DOM > > >from a service implementation?) I don't think Axis has a way to accept > > >serialized XML from a service implementation; i.e. you can't write out > > >text-with-angle-brackets and have Axis include it literally in the return > > >message, other than the XML-in-a-string trick that you've already found. > > > > > >Cheers, > > >Guy > > > > > > > > > > > >On Wed, 31 Aug 2005, Plorks mail wrote: > > > > > > > > > > > hi > > > > > > > > i'm returning the xml as a result of call.invoke. when i write a test > > > > client using java the xml is well frmed, however we are also usg an > > > > application called laszlo, but when you get the same xml using laszlo > > >that's > > > > whe it comes back with the &alt for the angle brackets > > > > > > > > would it be possible to lead me to an example of cdata and sending the > > >xml > > > > as the body of the message (i think this is what i'm doing but just > >want > > >to > > > > make sure) > > > > > > > > thanks for your help > > > > > > > > > > > > >From: Guy Rixon <[EMAIL PROTECTED]> > > > > >Reply-To: [email protected] > > > > >To: [email protected] > > > > >Subject: Re: xml with strange characters > > > > >Date: Tue, 30 Aug 2005 17:24:35 +0100 (BST) > > > > > > > > > >If I understand you correctly, you're putting data marked up as XML > >in > > >a > > > > >string and then sending that string as an XML element in a SOAP > > >message. In > > > > >this usage, Axis has to turn the angle brackets into entity > >references > > >in > > > > >order to make the XML well-formed; you're not allowed to have literal > > >angle > > > > >brackets in the value of an XML element. > > > > > > > > > >If you desparately need to send your XML structure as the value of > > > > >some XML element, then you can wrap it in a CDATA section so that > >Axis > > >need > > > > >not mess > > > > >with the angle brackets. However, why not just send the XML as the > >body > > >of > > > > >the > > > > >message (normal document/literal style)? > > > > > > > > > >On Tue, 30 Aug 2005, Plorks mail wrote: > > > > > > > > > > > > it's not - when the client receives the xml it has &alt instead of > >< > > >or > > > > > > > > > > > > > > > > > > Also when i test my service get the same characters in the soap > > >message > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > > >From: WAJSBERG Julien RD-BIZZ <[EMAIL PROTECTED]> > > > > > > >Reply-To: [email protected] > > > > > > >To: [email protected] > > > > > > >Subject: Re: xml with strange characters > > > > > > >Date: Tue, 30 Aug 2005 14:30:59 +0200 > > > > > > > > > > > > > >Plorks mail a écrit : > > > > > > > > > > > > > > > > > > > > > > > hi all > > > > > > > > > > > > > > > > i'm retruning a xml string when a method is called. > > > > > > > > > > > > > > > > When i look at the soap returned xml is formatted with < > > > > >charactes > > > > > > > > instead of < or > > > > > > > > > > > > > > > > > e.g. > > > > > > > > > > > > > > > > <ROOT> > > > > > > > > ............ > > > > > > > > </ROOT> > > > > > > > > > > > > > > > > can anyone help me to solve this > > > > > > > > > > > > > > >Why is it a problem ? > > > > > > >Axis should deserialize this message correctly on the client > > >side... > > > > > > > > > > > > > > > > > > > _________________________________________________________________ > > > > > > Want to block unwanted pop-ups? Download the free MSN Toolbar now! > > > > > > http://toolbar.msn.co.uk/ > > > > > > > > > > > > > > > >Guy Rixon [EMAIL PROTECTED] > > > > >Institute of Astronomy Tel: +44-1223-337542 > > > > >Madingley Road, Cambridge, UK, CB3 0HA Fax: +44-1223-337523 > > > > > > > > _________________________________________________________________ > > > > Want to block unwanted pop-ups? Download the free MSN Toolbar now! > > > > http://toolbar.msn.co.uk/ > > > > > > > > > >Guy Rixon [EMAIL PROTECTED] > > >Institute of Astronomy Tel: +44-1223-337542 > > >Madingley Road, Cambridge, UK, CB3 0HA Fax: +44-1223-337523 > > > >_________________________________________________________________ > >Winks & nudges are here - download MSN Messenger 7.0 today! > >http://messenger.msn.co.uk > > > > > > > > > >CONFIDENTIALITY & PRIVILEGE NOTICE > > > >This e-mail is confidential to its intended recipient. It may also be > >privileged. Neither the confidentiality nor any privilege attaching to this > >e-mail is waived lost or destroyed by reason that it has been mistakenly > >transmitted to a person or entity other than its intended recipient. If you > >are not the intended recipient please notify us immediately by telephone or > >fax at the numbers provided above or e-mail by Reply To Author and return > >the printed e-mail to us by post at our expense. We believe, but do not > >warrant, that this e-mail and any attachments are virus-free, but you > >should check. We may monitor traffic data of both business and personal > >e-mails. We are not liable for any opinions expressed by the sender where > >this is a non-business e-mail. If you do not receive all the message, or if > >you have difficulty with the transmission, please telephone us immediately. > > _________________________________________________________________ > Winks & nudges are here - download MSN Messenger 7.0 today! > http://messenger.msn.co.uk > >
