[wsf-c-dev] [wsf-php] RM API]

Damitha Kumarage damitha at wso2.com
Tue Feb 6 03:18:23 PST 2007


Hi

> I've made some notes. I know these duplicate some things that are said 
> in the discussion below, but I wanted to pull it all together.
>
> 1) The default version should be 1.0. 1.1 is not yet a spec and 
> Microsoft don't yet support it in WCF. So making the default 1.1 will 
> just cause trouble for users interoping with MS.
>
> 2) If RM is on, it should automatically enable Addressing
>
> 3) Instead of Offer = true, lets use something that signifies what's 
> going on.
> I propose TwoWayRM=true.
>
> 4) The client identifier is something that is pretty advanced. The 
> average PHP user will never use this. I would suggest we call it a 
> SequenceKey if we are going to expose it to the client. It should 
> *not* be called Identifier. The Identifier is a specific term used in 
> the spec and is different. I don't agree that we should send each 
> message in a separate sequence. The logical thing from a server 
> perspective (like with PHP) is that the server creates a single 
> sequence to the RM endpoint, and channels all messages to it. If we 
> default to having a new sequence for every message we will be 
> incredibly inefficient. From the user's perspective we should 
> automatically create and expire sequences as necessary, and ideally 
> the user shouldn't need to be involved, except to say that this client 
> or server uses RM.
>
> 5) I think the most obvious programming construct for ending a 
> sequence would be to have an explicit call to terminate the sequence:
>
> $wsclient->TerminateOutgoingRM();
>
> I thought about just TerminateRM(), but the problem is that this 
> really should only terminate the outgoing sequence, and I don't want 
> to make users think that it will shut down both sequences.
>
> 6) For both the client and server it should be possible to set the 
> expiry time of the sequence.
>
> 7) I think it is possible to support 2-way in PHP. After all Microsoft 
> does it with .NET (yes - with a synchronous client). It isn't very 
> beautiful architecturally, but it seems to work.
>
> What they do is to use the anonymous replay model. Basically the RM 
> client will block and keep resending requests until it gets a 
> response. You can talk to Chamikara about the model.

I talked to Chamikara and what I understood is that in 1.0 we do 
sequence offer and then server send the response in the http back 
channel of the request message. It seems this can be get done with 
sandesha2c.

Damitha





More information about the Wsf-c-dev mailing list