Hi Sanjiva: Sanjiva Weerawarana wrote:
Yes you have to do it somewhere .. with the current model the if() is done at the point of constructing an AxisService object from the WSDL: if its the server side then an in-out in WSDL becomes and In-Out MEP operation and if its a client we create an Out-In MEP operation to represent the fact that from the point of view of the client, the operation is an Out-In.
Wow, this is a serious -1 for me. We had this discussion, IIRC, at least twice (I think even at both F2Fs!), and I thought we'd resolved to keep things in terms of the WSDL model and have a "role" switch which indicates whether the current processor is the client or the server (i.e. the message labels stay the same but the sending/receiving roles switch).
If you go switching the MEP, then you've switched the message names ("in" becomes "out", etc), and therefore any policies, extensions, or other specs or code that have been written in terms of the message labels (or the MEP name) ALSO need to be switched. This is a nightmare - what if some serialized data in a message refers to something by message label?
Please reconsider - doing it this way (changing the actual model instead of simply changing what role you play in USING the model) is very confusing and I believe may lead to serious problems down the road.
Thanks, --Glen
