axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Frank Huebbers (JIRA)" <j...@apache.org>
Subject [jira] Reopened: (AXIS2C-863) Non-blocking code generation and forwarding a context code not supported
Date Mon, 07 Jan 2008 23:47:34 GMT

     [ 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


Mime
View raw message