Hi Mohamed,
 
I advice to use strong typed wsdl files. I hope you are familiar with
strong vs. loose type languages? (i.e. java (strong) vs. php (loose))

I think the following links will provide enough information:
http://www.ibm.com/developerworks/xml/library/ws-tip-xsdcaution.html
http://www.ibm.com/developerworks/webservices/library/ws-loosevstrong.ht
ml

I agree almost complete with both articles that strong typed definitions
are the way to go. This because it minimizes the interpretation and
maximizes the intend of the service. The articles are pointing that out
with good examples imho!

Sietse


________________________________

From: M.Khaled [mailto:[EMAIL PROTECTED] 
Sent: 21 November 2007 13:28
To: [email protected]
Subject: RE: Urgent


Hi Sietse,
 
I am new to web service.So I am asking how can I  adjust the wsdl file
as you adviced me?
 
Thanks,
Mohamed

[EMAIL PROTECTED] wrote:

        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: [email protected]
        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 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:
        
        
        
        
        
        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
        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="text";
        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 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
        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:
        
        HJvc3BlY3Q+ICBpZClJzs 
        and the server can't parse this form
        cause it is expecting that form:
        text
        
        (6)And axis is generating this output: 
        <A> <B> text
        </B> </A> 
        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] > 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] ] 
        Sent: Wednesday, November 21,
        2007 1:41 PM
        To: [email protected]
        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.
        t9_qDKvtAbMuh1G1SQtBI7ntAcJ> 
        
        
        ________________________________
        
        Never miss a thing. Make Yahoo your
        homepage. 
        
        
        
        
        
        -- 
        Paul Fremantle
        Co-Founder and VP of Technical Sales, WSO2
        OASIS WS-RX TC Co-chair
        
        blog: http://pzf.fremantle.org
        
        [EMAIL PROTECTED]
        
        "Oxygenating the Web Service Platform",
        www.wso2.com 
        
        
        ________________________________
        
        Be a better sports nut! Let your teams follow you with
        Yahoo Mobile. Try it now.
        t9_qDKvtAbMuh1G1SQtBI7ntAcJ%0A> 
        
        
        
--------------------------------------------------------------------- 
        To unsubscribe, e-mail:
        [EMAIL PROTECTED]
        For additional commands, e-mail:
        [EMAIL PROTECTED] 
        
        
        
        
        
        -- 
        Paul Fremantle
        Co-Founder and VP of Technical Sales, WSO2
        OASIS WS-RX TC Co-chair
        
        blog: http://pzf.fremantle.org 
        [EMAIL PROTECTED]
        
        "Oxygenating the Web Service Platform", www.wso2.com
        
        
        
        ________________________________
        
        Get easy, one-click access to your favorites. Make Yahoo! your
homepage.
        
        
        
---------------------------------------------------------------------
        To unsubscribe, e-mail: [EMAIL PROTECTED]
        For additional commands, e-mail: [EMAIL PROTECTED]
        
        


________________________________

Never miss a thing. Make Yahoo your homepage.
<http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs>  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to