axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dimuthu Gamage" <dimut...@gmail.com>
Subject Re: Axis2C: WSDL2C not properly handling attributes
Date Wed, 07 Nov 2007 04:00:26 GMT
Hi Michael,
I also try checking out the snaphost - SNAPSHOT  Built on : Nov 06, 2007
(12:46:42 GMT+00:00)  and it was generating soap action correctly!. I made
sure I dont have anything other than the *.jars  in my CLASSPATH. I m using
Sun Java - Java(TM) SE Runtime Environment (build 1.6.0_02-b05)

The generated code for RPC/lit and DOC/lit is attached here. They both have
soap action correctly, so It is not a problem specific to RPC wsdls!

You better checkout whether there are old jars in your classpath.

Thanks
Dimuthu

On 11/7/07, Michael Mole <mjmole@us.ibm.com> wrote:
>
>
> I switched back to the official 1.3 release, and the soapAction strings
> were generated properly.  I then downloaded the nightly snapshot from today,
> and again, it was producing "\"\"" intead of the soapAction string.  This
> appears to be a regression.
>
> I also tried doing the same thing on the Adder4.wsdl, but there were no
> problems in either case.  I wonder if that has something to do with the fact
> that I'm using style="rpc", not style="document"?
>
>  - Mike
>
> Michael J Molé
> Software Engineer
> IBM Software Group - Rational
> (781)676-2710
>
>
>  *Michael Mole/Lexington/IBM@IBMUS*
>
> 11/05/2007 09:19 AM
>  Please respond to
> "Apache AXIS C User List" <axis-c-user@ws.apache.org>
>
>   To
> "Apache AXIS C User List" <axis-c-user@ws.apache.org>  cc
>
>  Subject
> Re: Axis2C: WSDL2C not properly handling attributes
>
>
>
>
>
>
>
> Hey Dimuthu,
>
> My WSDL does specify a soapAction.  Also, this was working until I moved
> to the nightly snapshot from last week.
>
> My WSDL looks something like this:
>    <operation name="foo">
>      <soap:operation soapAction="http://ibm.com/foo"/>
>      <input>
>        <soap:body parts="body" use="literal"
>            namespace="http://ibm.com/fooservice"
>            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>      </input>
>      <output>
>        <soap:body parts="body" use="literal"
>            namespace="http://ibm.com/fooservice"
>            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>      </output>
>      <fault name="fault">
>        <soap:fault name="fault" use="literal"
>            encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
>      </fault>
>    </operation>
>
> Thanks again,
> Mike
>
> Michael J Molé
> Software Engineer
> IBM Software Group - Rational
> (781)676-2710
>
>   *"Dimuthu Gamage" <dimuthuc@gmail.com>*
>
> 11/02/2007 10:10 PM
>   Please respond to
> "Apache AXIS C User List" <axis-c-user@ws.apache.org>
>
>   To
> "Apache AXIS C User List" <axis-c-user@ws.apache.org>  cc
>
>  Subject
> Re: Axis2C: WSDL2C not properly handling attributes
>
>
>
>
>
>
>
>
> Hi Michael,
> This happens when the soapAction in the WSDL is empty or just doesn't
> exist. E.g. <soap:operation soapAction="" style="document"/>
>
> In this case it doesnt matter either the soap_action = "\"\"" or
> soap_action = "" , axis2/c always sends the SOAPAction: ""  in the http
> headers in the soap request. So I think it is not a bug:).
>
>
> Thanks
> Dimuthu
>
> On 11/3/07, *Michael Mole* <* mjmole@us.ibm.com* <mjmole@us.ibm.com>>
> wrote:
>
> Hey Dimuthu,
>
> One other thing I'm noticing now is that the soap_action in my method
> stubs is being set to "\"\"".  Is this something specific to the snapshot
> I downloaded or is this a new bug?
>
> Here is a slightly modified listing of one of my method stubs:
>        /**
>         * auto generated method signature
>         * for "foo|[DELETED]" operation.
>         * @param foo
>         * @return
>         */
>
>                   adb_fooResponse_t* axis2_stub_FooService_foo(
> axis2_stub_t *stub, const axutil_env_t *env,
>                                             adb_foo_t* foo)
>        {
>           axis2_svc_client_t *svc_client = NULL;
>           axis2_options_t *options = NULL;
>           axiom_node_t *ret_node = NULL;
>
>           const axis2_char_t *soap_action = NULL;
>           axutil_qname_t *op_qname =  NULL;
>           axiom_node_t *payload = NULL;
>           axis2_bool_t is_soap_act_set = AXIS2_TRUE;
>
>           axutil_string_t *soap_act = NULL;
>
>                   adb_fooResponse_t* ret_val = NULL;
>
>                           payload = adb_foo_serialize(foo, env, NULL,
> AXIS2_TRUE);
>
>
>
>           options = axis2_stub_get_options( stub, env);
>           if ( NULL == options )
>           {
>             AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "options is null in
> stub: Error code:"
>                   " %d :: %s", env->error->error_number,
>                   AXIS2_ERROR_GET_MESSAGE(env->error));
>             return NULL;
>           }
>           svc_client = axis2_stub_get_svc_client(stub, env );
>           soap_action = axis2_options_get_action( options, env );
>           if (NULL == soap_action)
>           {
>             is_soap_act_set = AXIS2_FALSE;
>             soap_action = "\"\"";
>
>             soap_act = axutil_string_create(env, "\"\"");
>             axis2_options_set_soap_action(options, env, soap_act);
>
>             axis2_options_set_action( options, env, soap_action );
>           }
>
>           axis2_options_set_soap_version(options, env, AXIOM_SOAP11 );
>
>           op_qname = axutil_qname_create(env,
>                                       "foo" ,
>                                       "[DELETED]",
>                                       NULL);
>           ret_node =  axis2_svc_client_send_receive_with_op_qname(
> svc_client, env, op_qname, payload);
>
>           if (!is_soap_act_set)
>           {
>
>             axis2_options_set_soap_action(options, env, NULL);
>
>             axis2_options_set_action( options, env, NULL);
>           }
>
>
>                   if ( NULL == ret_node )
>                   {
>                       return NULL;
>                   }
>                   ret_val = adb_execute_foo_create(env);
>
>                   adb_execute_foo_deserialize(ret_val, env, ret_node );
>                   return ret_val;
>
>       }
>
>
> Thanks,
> Mike
>
> Michael J Molé
> Software Engineer
> IBM Software Group - Rational
> (781)676-2710
>   *Michael Mole/Lexington/IBM@IBMUS*
>
> 11/02/2007 04:04 PM
>
>
>   Please respond to
> "Apache AXIS C User List" <*axis-c-user@ws.apache.org*<axis-c-user@ws.apache.org>
> >
>
>   To
> "Apache AXIS C User List" <*axis-c-user@ws.apache.org*<axis-c-user@ws.apache.org>
> >  cc
>
>  Subject
> Re: Axis2C: WSDL2C not properly handling attributes
>
>
>
>
>
>
>
>
>
>
>
> Hey Dimuthu,
>
> You are right.  I was using the 1.3 release version, but the latest
> snapshot has resolved this issue.
>
> Thanks!
>
> Michael J Molé
> Software Engineer
> IBM Software Group - Rational
> (781)676-2710  *"Dimuthu Gamage" <**dimuthuc@gmail.com*<dimuthuc@gmail.com>
> *>*
>
> 11/01/2007 12:11 AM
>   Please respond to
> "Apache AXIS C User List" <*axis-c-user@ws.apache.org*<axis-c-user@ws.apache.org>
> >
>
>
>   To
> "Apache AXIS C User List" <*axis-c-user@ws.apache.org*<axis-c-user@ws.apache.org>
> >  cc
>
>  Subject
> Re: Axis2C: WSDL2C not properly handling attributes
>
>
>
>
>
>
>
>
>
>   ***********************
> Warning: Your file, case2.tar.gz, contains more than 32 files after
> decompression and cannot be scanned.
> ***********************
>
>
>
> Hi Michael,
> This problem was there for sometime back. And I thought I fixed it. May be
> it is not for all the cases.
> I m attaching the testcase I used to test attribute.
>
> WSDL: case2/res/Adder4.wsdl
> Generated stub code: case2/stub
> Generated skel code: case2/skel
>
> And if you find your generated code is different, please try with the
> latest snapshot. *http://people.apache.org/dist/axis2/nightly/axis2-SNAPSHOT-bin.zip
> * <http://people.apache.org/dist/axis2/nightly/axis2-SNAPSHOT-bin.zip>
>
> Thanks
> Dimuthu
>
> On 11/1/07, *Michael Mole* <*mjmole@us.ibm.com* <mjmole@us.ibm.com> >
> wrote:
>
> I have an xsd that defines a complex type with an attribute.  When I
> generate adb databindings using WSDL2C, the generated serialize method will
> crash when I run it.  It appears that this is because the attribute is added
> using  a call to axiom_element_add_attribute.  However, the element being
> passed to axiom_element_add_attribute is of type axutil_stream_t, and the
> element tags had already been written anyway using axutil_stream_write.
>
> I can't imagine that I'm the first one to try to use adb_bindings with an
> element that has an attribute.  Has anyone else ever run into a problem like
> this or been successful?  Should I raise a JIRA?
>
>
> Thanks,
> Mike
>
> Michael J Molé
> Software Engineer
> IBM Software Group - Rational
> (781)676-2710
> [attachment "case2.tar.gz" deleted by Michael Mole/Lexington/IBM]
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: *axis-c-user-unsubscribe@ws.apache.org*<axis-c-user-unsubscribe@ws.apache.org>
> For additional commands, e-mail: *axis-c-user-help@ws.apache.org*<axis-c-user-help@ws.apache.org>
>
>

Mime
View raw message