You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Frank Huebbers (JIRA)" <ji...@apache.org> on 2008/01/08 00:47:34 UTC

[jira] Reopened: (AXIS2C-863) Non-blocking code generation and forwarding a context code not supported

     [ https://issues.apache.org/jira/browse/AXIS2C-863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Huebbers reopened AXIS2C-863:
-----------------------------------


I tried out the updated wsdl2c tool and the non-blocking stubs were generated properly and this seems to work well.

However, there seems to be a new problem that arose for me when I updated to the new tool (snapshot 1/7/2008). I'm not sure whether this is related to the changes that were made so, I'm reopening this issue first.

Basically, there seems to be a problem in the generated SOAP message when a using types from a common wsdl file in another wsdl file. In the following scenario, I have a parent.wsdl file with a login type which, in turn, has types from a common.wsdl file. The SOAP message that is sent when using the generated code is:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
	<soapenv:Body>
		<n:login xmlns:n="urn:types.directory.neokast.com" xmlns:`üª="urn:common.neokast.com">
		<n:username></n:username>
		<n:passwordHash></n:passwordHash>
		<n:clientInfo>
			<n0:Name></n0:Name>
		</n:clientInfo>
		</n:login>
	</soapenv:Body>
</soapenv:Envelope>

 This, of course, generates a SOAP fault on the receiving side. To make this work, however, I would expect the message to be:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
	<soapenv:Body>
		<n:login xmlns:n="urn:types.parent.MyCompany.com" xmlns:n0="urn:common.MyCompany.com">
		<n:username></n:username>
		<n:passwordHash></n:passwordHash>
		<n:clientInfo>
			<n0:Name></n0:Name>
		</n:clientInfo>
		</n:login>
	</soapenv:Body>
</soapenv:Envelope>

Note the difference on the xmlns:n0="urn:common.MyCompany.com". I am expecting that some variable wasn't initialized properly or something of that nature.

I generated this code with the -uri parent.wsdl -d adb -u using the codegen tool from the January 7th, 2008 Snapshot.

Any help would be greatly appreciated.

Cheers,
Frank

> Non-blocking code generation and forwarding a context code not supported
> ------------------------------------------------------------------------
>
>                 Key: AXIS2C-863
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-863
>             Project: Axis2-C
>          Issue Type: Improvement
>          Components: wsdl2c tool
>    Affects Versions: Current (Nightly)
>            Reporter: Frank Huebbers
>         Attachments: case21.tar.gz
>
>
> I am using the non-blocking web service calls as they are generated by the wsdl2c codegen tool. What I am missing in the codegeneration, however, is the context that I would like to forward as well to the non-blocking call. Specifically, what I am currently getting is the following (for the prototype in the header):
> void axis2_stub_start_op_MyService_getProperties( axis2_stub_t *stub, const axutil_env_t *env,
>                                                      adb_getProperties_t* _getProperties,
>                                                    axis2_status_t ( AXIS2_CALL *on_complete ) (struct axis2_callback *, const axutil_env_t *) ,
>                                                    axis2_status_t ( AXIS2_CALL *on_error ) (struct axis2_callback *, const axutil_env_t *, int ) )
> What would be more useful, however, is the following in the prototype:
> void axis2_stub_start_op_MyService_getProperties( axis2_stub_t *stub, const axutil_env_t *env,
>                                                      adb_getProperties_t* _getProperties,
>                                                      void *data,
>                                                     axis2_status_t ( AXIS2_CALL *on_complete ) (struct axis2_callback *, const axutil_env_t *) ,
>                                                     axis2_status_t ( AXIS2_CALL *on_error ) (struct axis2_callback *, const axutil_env_t *, int ) )
> With the following addition in the implementation:
> /* Set data object */
> axis2_callback_set_data(callback, data);
> This would allow users to store a context with their non-blocking call, as is customary in other languages, without having to manually change the stub after it was generated.
> I generated the client stub with the following options on the wsdl2c tool: -uri myWSDL.wsdl -d adb -u

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org