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 '&lt; and &gt; 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 &lt; 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>&lt;A&gt; &lt;B&gt; text
&lt;/B&gt; &lt;/A&gt; </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]

Reply via email to