You may find some information on generating Faults in this thread: http://www.nabble.com/-AXIS2C--throwing-an-exception-from-the-server-to-the-Java-client-tf3967397.html#a11299262

Thanks,
Samisa...

Subra A Narayanan wrote:
Hey Nandika,

Did you get a chance to look at my questions? I would really appreciate ur input on these.

Thanks so much!

Subra

On 8/17/07, * Subra A Narayanan* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hey Nandika,

    So I tried your suggestion but I have a doubt. I am just modifying
    the 'math' webservice from the samples folder.

    The 'add' operation returns a axiom_node_t * on success, which is
    nothing but the soap message. But I want to return a soap fault
    from the 'add' operation if lets say one of the parameters was
    missing from the request or it was a decimal number. If I follow
    what you asked me to do, what do I return from the add function? I
    have to return a axiom_node_t *? But from your email I thought you
    meant that if I set the soap fault to the message context, the
    soap fault will automatically be returned to the client. I dont
    understand how do I stop further processing and return a soap
    fault to the client.

    So I did some further digging in to the axis code and found this
    function in axiom_soap_envelope.h:

    AXIS2_EXTERN axiom_node_t* AXIS2_CALL
    axiom_soap_envelope_get_base_node(axiom_soap_envelope_t *envelope,
    const axutil_env_t *env);


    so this gives me access to the soap fault message as a
    axiom_node_t*. And upon error in the 'add' operation, I just
    return it to the client. Is this the right way to do it? I am
    missing something here.

    Now one more important thing. When I call
    axiom_soap_envelope_get_base_node, it seems to returning a soap1.2
    fault message rather than a soap1.1 message even though I set *

    *soapVersion = AXIOM_SOAP11;

    Why is that? Is there a way to get soap1.1 fault message?


    I hope my questions are clear. Thanks so much for your help!


    Subra




    On 8/17/07, * Subra A Narayanan* <[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:

        Thanks Nandika. I will give it a shot.

        Have a good weekend!


        On 8/17/07, *Nandika Jayawardana* < [EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]>> wrote:

            Hi Subra,
You can create a soap11 fault using following lines. int soap_version = AXIOM_SOAP11;

            soap_envelope =
            axiom_soap_envelope_create_default_soap_envelope (env,
            soap_version);

            soap_body = axiom_soap_envelope_get_body(soap_envelope, env);

            soap_fault = axiom_soap_fault_create_default_fault (env,
            soap_body, "fault code" , "fault reason"

            , soap_version);

            axis2_msg_ctx_set_fault_soap_envelope(msg_ctx, env,
            soap_envelope);

            You can set the fault to the msg_ctx and it will be
            returned to the client.

            Regards

            Nandika



On 8/17/07, *Subra A Narayanan* <[EMAIL PROTECTED]
            <mailto:[EMAIL PROTECTED]>> wrote:

                Hello folks,
I am trying ti build a SOAP1.1 fault and return to the
                ws client. I am having some difficulty understanding
                how to go about this. I have tryng to dig through the
                source code but was wondering if you guys have some
                sample code. If you have it that would be very helpful
                in understanding the usage.
In the meantime I will continue to dig through the
                source code to try to understand.
Thanks as usual! Subra




-- [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> WSO2 Inc: http://www.wso2.com





--
Samisa Abeysinghe : WSO2 WSF/C
"http://wso2.org/projects/wsf/c?WSO2&nbsp;Web&nbsp;Services&nbsp;Framework/C&nbsp;-&nbsp;Open&nbsp;source&nbsp;C&nbsp;library&nbsp;for&nbsp;providing&nbsp;and&nbsp;consuming&nbsp;Web&nbsp;services";


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

Reply via email to