dev@jax-ws.java.net

Re: SOAP/TCP single vs. additional binding <was> WSDL generation with SOAP/TCP binding

From: Oleksiy Stashok <Oleksiy.Stashok_at_Sun.COM>
Date: Tue, 12 Sep 2006 18:41:36 +0200

Vivek Pandey wrote:
> Oleksiy Stashok wrote:
>> .................... WSDL part ..................
>> / <binding name="AddNumbersBinding" type="tns:AddNumbersPortType">
>> <soap:binding
>> transport="http://schemas.xmlsoap.org/soap/http" style="document" />
>> *<enableTCP/>
>> */.........../*
>> * </binding>/
>> ..........................................................
>> this will mean WsImport create just single binding and be consistent
>> in method name and port it returns. What we will need in that case on
>> client - is just plug tcp transport pipe as reaction to servler's
>> <enableTCP/> and client's assertion <chooseBestTransport/>
>> (In this situation we can assume tcp endpoint has same form as http,
>> just changing transport schema http:// -> x-tcp://.)
>>
>> So, we can have 2 different scenarios:
>> 1) Separate binding for Http and Tcp and dont have any client side
>> preferences in transport, as they look not consistent. (getHttpPort()
>> should return Tcp port)
> Here the getXYZPort() methods names are derived from the
> wsdl:port_at_name value and will happen automatically.
Yes, clear. That's why im concern about "best transport" feature having
2 bindings scenario.

>> 2) Have single binding with policy assertion propogated from server
>> <enableTcp/> which looks ok with client's <chooseBestTransport/>
>> assertion.
>>
>> Personally i like 2nd scenario more... it will require less changes
>> to jax-ws (at least looks so... no several binding WSDL, no endpoint
>> AddressResolver, but client side changes) and looks more featured.
>> 1st scenario looks standard and also MS has it implemented.
>>
> Yes, I like this approach too, it looks simpler. But the question I
> have in this approach is - who would generate <useBestTransport/>
> policy assertion and in what circumstances.
I think its question of tooling. Think NB could handle that.

> What if there are transports other than tcp and http, lets say UDP,
> which one gets chosen? Should user have control over which one gets used?
Commonly its a question. We can either think about just TCP alternative
or name client's assertion like <preferTCP/> to be specific.

Alexey.

>
> -vivek.
>> WBR,
>> Alexey.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_jax-ws.dev.java.net
> For additional commands, e-mail: dev-help_at_jax-ws.dev.java.net
>