Hi Mohamed, In my opinion the wsdl definition is not really a definition. It specifies that it will receive a string. But it doesn't specify the meaning of it (i.e. xml, xml encoded as string). Therefore your wsdl is loosely defined and this gives freedom to the implementer to interpret it the way he wants. This results in unexpected behaviour.
My advice is to adjust the wsdl and make a strict definition of the messages. This enforces the client to use the well specified description and gives less possibility for an own interpretation. Just my 2 cents. Regards, Sietse ________________________________ From: M.Khaled [mailto:[EMAIL PROTECTED] Sent: 21 November 2007 12:52 To: axis-user@ws.apache.org Subject: Re: Urgent Paul You think the server should decode the received string before parsing it, to reconvert the special charcters like '< and > to '<' and '>' ? Mohamed Paul Fremantle <[EMAIL PROTECTED]> wrote: Mohamed Now I'm confused. The WSDL defines a string. That says that the server is expecting a string. So if that string is going to an XML, then it *should* be encoded, because the datatype of the element is string not xml. If the server was expecting un-encoded XML then the WSDL should say: <sequence> <element name="lead" type="xsd:anyType"/> </sequence> The client is doing the right thing (at least as far as the WSDL says) in encoding the XML with < etc. Paul On Nov 21, 2007 11:27 AM, M.Khaled <[EMAIL PROTECTED]> wrote: Hi Paul, -This mail contains attached WSDL file which I used to create the client by axis. -And About the way I am creating the XML that I am sending it's similar to the foolowing: class Main{ String xml="<myElement><A><B>text</B></A></myElement>"; Request req=new Request(); req.setAttr(xml); Sender sender=new Sender(); sender.send(req); } class Request{ String attr=null; getAttr(){ return attr; } setAttr(String s){ attr=s; } class Sender{ public Response send(Request req) { Response res=(Response) call.invoke(req); return res; } } Paul Fremantle <[EMAIL PROTECTED]> wrote: Mohamed The server is expecting it in XML form not string form. Can you please post the WSDL. Also please explain how you are creating the XML that you are sending. Paul On Nov 21, 2007 10:41 AM, M.Khaled <[EMAIL PROTECTED]> wrote: First of all Thanks a lot for your quick response.Second I just want to tell you how the scenario going in here: (1)I am just working in the client side (meaning I just created the client by axis WSDL2JAVA command by passing the WSDL file to it). (2)And I have to set ant attribute value which is of type String to a specific object and this value is xml elements but in a string representation. (3)This specific object will be passed to the invoke method of the Call object. (4)In the server side (which is out of my work scope, I am just using the URL for it and know nothing else about it) it is expecting that this value I passed is xml in a string representation. (5)So I tried your solution for base 64 encoding but the output was something like this: <myEement>HJvc3BlY3Q+ICBpZClJzs</myEemen> and the server can't parse this form cause it is expecting that form: <myEement><A><B>text</B></A></myEement> (6)And axis is generating this output: <myEement><A> <B> text </B> </A> </myEement> and the server can't parse this form. That's the point I am still sticking in. If you have any other solution please advice. Thanks, Mohamed. "Hoda, Nadeem [USA]" < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > wrote: If it is something very urgent, the easiest way is to base 64 encode the XML and pass the encoded string which is guaranteed to have no special characters. For example (server-side): import org.apache.xerces.impl.dv.util.Base64; ... //send this string String encodedXML = Base64.encode(rawXMLString); ... Otherwise you can use attachments, but that is not an "urgent" scenario solution. Thanks, Nadeem ________________________________ From: M.Khaled [mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> ] Sent: Wednesday, November 21, 2007 1:41 PM To: axis-user@ws.apache.org Subject: Urgent Hi, I sent a question to the mailing list and got no answer till now.Could anyone help me? My question was about how to send xml as a string by axis client avoiding special character problem. Thanks, Mohamed. ________________________________ Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it now. <http://us.rd.yahoo.com/evt=51731/*http://mobile.yahoo.com/sports;_ylt=A t9_qDKvtAbMuh1G1SQtBI7ntAcJ> ________________________________ Never miss a thing. Make Yahoo your homepage. <http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs> -- Paul Fremantle Co-Founder and VP of Technical Sales, WSO2 OASIS WS-RX TC Co-chair blog: http://pzf.fremantle.org <http://pzf.fremantle.org/> [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com <http://www.wso2.com/> ________________________________ Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it now. <http://us.rd.yahoo.com/evt=51731/*http://mobile.yahoo.com/sports;_ylt=A t9_qDKvtAbMuh1G1SQtBI7ntAcJ%0A> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> -- Paul Fremantle Co-Founder and VP of Technical Sales, WSO2 OASIS WS-RX TC Co-chair blog: http://pzf.fremantle.org <http://pzf.fremantle.org/> [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com <http://www.wso2.com/> ________________________________ Get easy, one-click access to your favorites. Make Yahoo! your homepage. <http://us.rd.yahoo.com/evt=51443/*http://www.yahoo.com/r/hs> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]