[Registry-dev] Accept types and dynamic response formulation

Paul Fremantle paul at wso2.com
Mon Nov 5 22:56:00 PST 2007


I think we should have a flag we can set that forces certain behaviour. 
For example, it should be possible to config one URL endpoint that 
returns <soap:Env/> to GET by default and another that implements the 
full Accept behaviour.

However, I'm happy that the default - out-of-the-box - behaviour is that 
we return env-free XML.

Paul

Jonathan Marsh wrote:
> Any status on this thread?  I'm still worried our approach might compromise
> SOAP 1.2 interop.
> 
> Jonathan Marsh - http://www.wso2.com - http://auburnmarshes.spaces.live.com
>  
> 
>> -----Original Message-----
>> From: registry-dev-bounces at wso2.org [mailto:registry-dev-
>> bounces at wso2.org] On Behalf Of Jonathan Marsh
>> Sent: Saturday, October 20, 2007 1:50 PM
>> To: registry-dev at wso2.org
>> Subject: RE: [Registry-dev] Accept types and dynamic response
>> formulation
>>
>> Hmmm, then I wonder if the SOAP 1.2 response MEP and the advice on
>> Accept
>> headers in the SOAP 1.2 Adjuncts spec [1] could have some implications.
>> Namely, that a SOAP 1.2 service that implements the SOAP Response MEP,
>> invoked by a client that ignores the MAYs and SHOULDs in that section
>> and
>> doesn't provide a suitable Accept header, would be expected to would
>> respond
>> to a envelope-free request with a SOAP 1.2 response envelope.  A client
>> might rely on this behavior.  Then when the REST/POX alternative is
>> engaged
>> at the server, the client will find himself getting XML instead of SOAP
>> responses back.
>>
>> I think the effect of this behavior would be to make the Accept header
>> mandatory for services that want to engage the new behavior.  Am I
>> wrong?
>>
>> Jonathan Marsh - http://www.wso2.com -
>> http://auburnmarshes.spaces.live.com
>>
>>
>>> -----Original Message-----
>>> From: registry-dev-bounces at wso2.org [mailto:registry-dev-
>>> bounces at wso2.org] On Behalf Of Sanjiva Weerawarana
>>> Sent: Saturday, October 20, 2007 1:41 AM
>>> To: registry-dev at wso2.org
>>> Subject: Re: [Registry-dev] Accept types and dynamic response
>>> formulation
>>>
>>> Yes.
>>>
>>> Sanjiva.
>>>
>>> Jonathan Marsh wrote:
>>>> Does Axis2 currently ignore the Accept header when receiving a
>>> message
>>>> without a SOAP envelope?  (SOAP Response MEP)
>>>>
>>>> Jonathan Marsh - http://www.wso2.com -
>>> http://auburnmarshes.spaces.live.com
>>>>
>>>>> -----Original Message-----
>>>>> From: registry-dev-bounces at wso2.org [mailto:registry-dev-
>>>>> bounces at wso2.org] On Behalf Of Keith Chapman
>>>>> Sent: Wednesday, October 17, 2007 7:49 PM
>>>>> To: registry-dev at wso2.org
>>>>> Subject: Re: [Registry-dev] Accept types and dynamic response
>>>>> formulation
>>>>>
>>>>> Sanjiva Weerawarana wrote:
>>>>>> :) I like the penalty box model .. please help Keith out on axis-
>>> dev
>>>>>> when he posts it there! (Or Keith you can point to this thread ..
>>>>>> might be a better way!)
>>>>> I already dropped a proposal to the axis-dev list...
>>>>>
>>>>> Thanks,
>>>>> Keith.
>>>>>> Sanjiva.
>>>>>>
>>>>>> Jonathan Marsh wrote:
>>>>>>> If we have to, though I don't like it much and it weakens the
>>>>> principle
>>>>>>> involved, which is to use the media type system in the most
>> simple
>>>>> and
>>>>>>> direct way we can when we're playing REST.  The ambiguity that
>>>>> text/xml
>>>>>>> could describe either an XML document or that XML document
>> wrapped
>>>>> in
>>>>>>> a SOAP
>>>>>>> 1.1 envelope (or any other kind of wrapper) makes the solution
>>>>> tricky.
>>>>>>> Occam's razor would suggest that text/xml represents the
>> simplest
>>>>>>> alternative - the bare payload.  If in some circumstances it
>>>>> represents
>>>>>>> something else (SOAP 1.1) and the fact that those circumstances
>>>>> aren't
>>>>>>> externally visible, loses some of the simplicity of the
>> proposal.
>>>>>>> In the end, we're trying to use (not abuse) media types.  If
>> SOAP
>>>>> 1.1
>>>>>>> wanted
>>>>>>> special treatment within the media type system it should have
>>>>> defined a
>>>>>>> separate media type.  I think it's reasonable to send SOAP 1.1
>> to
>>>>> the
>>>>>>> penalty box for that violation when we're playing a REST
>>> tournament.
>>>>> I
>>>>>>> think the overlap between the community of SOAP 1.1 groupies and
>>>>> REST
>>>>>>> groupies is necessarily small (those who can live happily with
>>>>> cognitive
>>>>>>> dissonance) and therefore don't see much hope of keeping both
>> sets
>>>>>>> happy.
>>>>>>>
>>>>>>> Jonathan Marsh - http://www.wso2.com -
>>>>>>> http://auburnmarshes.spaces.live.com
>>>>>>>
>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: registry-dev-bounces at wso2.org [mailto:registry-dev-
>>>>>>>> bounces at wso2.org] On Behalf Of Glen Daniels
>>>>>>>> Sent: Wednesday, October 17, 2007 12:50 PM
>>>>>>>> To: registry-dev at wso2.org
>>>>>>>> Subject: Re: [Registry-dev] Accept types and dynamic response
>>>>>>>> formulation
>>>>>>>>
>>>>>>>> Sanjiva Weerawarana wrote:
>>>>>>>>> You'll have to ask on axis-dev and see whether people object.
>>> IMO
>>>>> its
>>>>>>>> a
>>>>>>>>> decent compromise but there are more SOAP 1.1 fans on that
>> list
>>>>> than
>>>>>>>> here!
>>>>>>>>
>>>>>>>> +1 from me for both the proposed solution and asking about it
>> on
>>>>>>>> axis-dev first.
>>>>>>>>
>>>>>>>> There is still a switch I can use in service.xml to disable POX
>>> for
>>>>> a
>>>>>>>> service/operation, right?  So if I set that then I always get
>>> SOAP
>>>>> on a
>>>>>>>> GET?
>>>>>>>>
>>>>>>>> --Glen
>>>>>>>>
>>>>>>>>> Keith Chapman wrote:
>>>>>>>>>> Sanjiva Weerawarana wrote:
>>>>>>>>>>> +1 for forgetting SOAP 1.1 and doing it .. .
>>>>>>>>>> Great... Is this solution valid for Axis2 as well? If so I'll
>>> go
>>>>>>>> ahead
>>>>>>>>>> and implement this in Axis2. If there are multiple accept
>>> headers
>>>>>>>> will
>>>>>>>>>> use the first matching header.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Keith.
>>>>>>>>>>> Sanjiva.
>>>>>>>>>>>
>>>>>>>>>>> Jonathan Marsh wrote:
>>>>>>>>>>>> I'll throw out an idea - text/xml and application/xml would
>>> map
>>>>> to
>>>>>>>> POX,
>>>>>>>>>>>> application/soap+xml maps to SOAP 1.2, and we don't provide
>> a
>>>>> way
>>>>>>>> to
>>>>>>>>>>>> do SOAP
>>>>>>>>>>>> 1.1 at this point in the browser.  Eventually we could
>>> register
>>>>>>>>>>>> "application/data-format+xml" and a request of
>>>>>>>>>>>> "application/data-
>>>>>>>> format+xml;rddl=http://schemas.xmlsoap.org/soap/envelope/r
>>>>>>>>>>>> ddl.html" (is that actually allowed in an accept header?)
>>> might
>>>>>>>>>>>> identify
>>>>>>>>>>>> soap 1.1.
>>>>>>>>>>>>
>>>>>>>>>>>> Jonathan Marsh - http://www.wso2.com -
>>>>>>>>>>>> http://auburnmarshes.spaces.live.com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> -----Original Message-----
>>>>>>>>>>>>> From: registry-dev-bounces at wso2.org [mailto:registry-dev-
>>>>>>>>>>>>> bounces at wso2.org] On Behalf Of Keith Chapman
>>>>>>>>>>>>> Sent: Wednesday, October 10, 2007 7:31 PM
>>>>>>>>>>>>> To: registry-dev at wso2.org
>>>>>>>>>>>>> Subject: Re: [Registry-dev] Accept types and dynamic
>>> response
>>>>>>>>>>>>> formulation
>>>>>>>>>>>>>
>>>>>>>>>>>>> Paul Fremantle wrote:
>>>>>>>>>>>>>> A while back Glen suggested we use Accept headers to
>>>>>>>> automatically
>>>>>>>>>>>>>> send the right thing back to the browser / requester. I
>> was
>>> a
>>>>>>>> bit
>>>>>>>>>>>>>> scared of this at the time :)
>>>>>>>>>>>>> While trying to implement content negotiation in Axis2
>> using
>>>>> the
>>>>>>>>>>>>> Accept
>>>>>>>>>>>>> header I came across the follllowing issue. When a REST
>> call
>>>>>>>> (GET) is
>>>>>>>>>>>>> sent using the browser the Accept header is
>>>>>>>>>>>>>
>>>>>>>>>>>>> "Accept:
>>>>>>>>>>>>>
>> text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/pla
>>>>>>>>>>>>> in;q=0.8,image/png,*/*;q=0.5".
>>>>>>>>>>>>>
>>>>>>>>>>>>> Now what should the response be POX or soap11?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Obviously I'd like to map text/xml to SOAP1.1 and
>>>>> application/xml
>>>>>>>> to
>>>>>>>>>>>>> POX
>>>>>>>>>>>>> but then the above request using the browser would return
>>> SOAP
>>>>>>>> 1.1.
>>>>>>>>>>>>> (Which might not be user friendly and may mislead the
>> user).
>>>>>>>>>>>>> Due to the above I haven't yet implemented this feature in
>>>>> Axis2.
>>>>>>>> Any
>>>>>>>>>>>>> suggested workarounds or just drop the feature?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>> Keith.
>>>>>>>>>>>>>> However, I think I'm coming round to this. I guess one of
>>> the
>>>>>>>> key
>>>>>>>>>>>>>> RESTful design patterns is to have the web UI the *same*
>>>>> thing
>>>>>>>> as the
>>>>>>>>>>>>>> machine interface. I don't think we are there yet though
>> I
>>>>> guess
>>>>>>>> we
>>>>>>>>>>>>>> are getting closer. I suggest that we bash back and forth
>>>>> some
>>>>>>>> ideas
>>>>>>>>>>>>>> about the exact URI design - in other words, what you see
>>> if
>>>>> you
>>>>>>>> go
>>>>>>>>>>>>> to
>>>>>>>>>>>>>> each different URI and what those patterns are. Glen - I
>>>>> think
>>>>>>>> you
>>>>>>>>>>>>>> need to look at the APP spec in detail first.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Paul
>>>>>>>> _______________________________________________
>>>>>>>> Registry-dev mailing list
>>>>>>>> Registry-dev at wso2.org
>>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>>>>>> _______________________________________________
>>>>>>> Registry-dev mailing list
>>>>>>> Registry-dev at wso2.org
>>>>>>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>>>>>>
>>>>> _______________________________________________
>>>>> Registry-dev mailing list
>>>>> Registry-dev at wso2.org
>>>>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>>>
>>>> _______________________________________________
>>>> Registry-dev mailing list
>>>> Registry-dev at wso2.org
>>>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>>>
>>> --
>>> Sanjiva Weerawarana, Ph.D.
>>> Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
>>> email: sanjiva at wso2.com; cell: +1 650 265 8311 | +94 77 787 6880
>>>
>>> "Oxygenating the Web Service Platform."
>>>
>>> _______________________________________________
>>> Registry-dev mailing list
>>> Registry-dev at wso2.org
>>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>
>> _______________________________________________
>> Registry-dev mailing list
>> Registry-dev at wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
> 
> 
> _______________________________________________
> Registry-dev mailing list
> Registry-dev at wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
> 

-- 
Paul Fremantle
Co-Founder and VP of Technical Sales, WSO2
OASIS WS-RX TC Co-chair

Office: +1 646 290 8050
Cell: +44 798 447 4618

blog: http://pzf.fremantle.org
paul at wso2.com

"Oxygenating the Web Service Platform", www.wso2.com




More information about the Registry-dev mailing list