axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <samisa_abeysin...@yahoo.com>
Subject RE: xsd:any support in Axis C++
Date Tue, 18 May 2004 12:43:59 GMT
Susantha,

> How large that object/array is not a problem as long as the runtime type
> (class or structure) is registered at the server (through server.wsdd).

Well, I think there can be situations where both the server and/or client would not know what
exactly the other side would be sending. (Or am I mistaken here?)
In other words, availability of type mappings should not be assumed. This is reasonable because
the WSDL can use xsd:any and not define what is meant by xsd:any at all.

> Yes that flexibility is there. But do we really need that flexibility ?.
> Can't we assume that at skeleton implementation time the developer knows
> what kinds of objects are possible (will come in SOAP) ?.
Yes, in enterprise applications, service provider should be able to change the service product
offerings, and the client should be able to pick them automatically, rather than service provider
be dependent on other means of communicating the concrete types.
Talking in programming terms, say the server change the schema and it would be nice if client
could still manage, without the need for recompilation.

> 
> In cases where complex types are inside another complex types (nested
> structures) the same can be applied. 
The problem is not nested types as I understand. The problem is how many complex types that
we are
talking about.

> 
> This way the skeleton implementation will look like following (lets
> consider a simple method)
> 
> int processOrder(AnyObject* pObject)
> {
> 	if (0 == strcmp(pObject->m_pcTypename, "OrderItem1"))
> 	{
> 		OrderItem1* pOrder = pObject->pObj;
> 		//do what ever the logic to process order 
> 	}
> 	else if (0 == strcmp(pObject->m_pcTypename, "OrderItem2"))
> 	{
> 		OrderItem2* pOrder = pObject->pObj;
> 		//do what ever the logic to process order
> 	}
> }

This is like hard coding the number of items possible. However I think xsd:any need to be
studied
more throughly before comming to a conclution. 

Is there any WSDL GURU out there who could help us here? :)

> But the XML pull model used in Axis makes it difficult to have
> SOAPElement (DOM tree like) object passing to skeletons. But it is
> possible to pass an API to the Deserializer from which the users can get
> any information that contained in SOAP.

Well, the best is to design the parser model to accomodate real world scenarios. Lets not
allow
the pull model to restict us.

Thanks,
Samisa...



	
		
__________________________________
Do you Yahoo!?
SBC Yahoo! - Internet access at a great low price.
http://promo.yahoo.com/sbc/

Mime
View raw message