sca-bindings message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Re: [sca-bindings] Re: Restating proposal for issue 11
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: OASIS Bindings <sca-bindings@lists.oasis-open.org>
- Date: Thu, 4 Dec 2008 12:42:48 +0000
Folks,
Comments inline as <mje>...</mje>
Yours, Mike.
Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014 Mobile: +44-7802-467431
Email: mike_edwards@uk.ibm.com
From:
| Eric Johnson <eric@tibco.com>
|
To:
| OASIS Bindings <sca-bindings@lists.oasis-open.org>
|
Date:
| 04/12/2008 02:36
|
Subject:
| [sca-bindings] Re: Restating proposal
for issue 11 |
As a result of todays call, here's a revised copy:
One comment - I went looking for the "structural URI" definition
in the current assembly cd01-rev3 draft, and didn't find it, so I couldn't
actually reference that section.
<mje> The reason
for this is that Structural URI is introduced by the resolution of Assembly
Issue 16 - and this has not been incorporated into
CD01-Rev3. It is
currently in sca-assembly-1.1-spec-cd01-rev2+Issue16_2.doc
section 6.8.
I will work to get the
currently resolved issues included into the Assembly specification in a
new Rev.
</mje>
The following comes in two parts - moving the gist of what is the existing
section 4.4, which is the original text that turned into (the now deleted)
section 4.3 below, and the revision for the rest of section 4. First,
the normative statement about mapping to WSDL:
Section 2.2, paragraph #1 currently reads:
When binding.ws is used on a service or reference with an interface that
is not defined by interface.wsdl, then a WSDL portType for the service
or reference is derived from the interface by the rules defined for that
SCA interface type.
I suggest changing this to:
When binding.ws is used on a service or reference with an interface that
is not defined by interface.wsdl, then a WSDL portType for the service
or reference is derived from the interface by the rules defined for that
SCA interface type. A conformant SCA runtime MUST raise an error
if the interface does not map to a WSDL portType.
<mje>I suggest using
the term "An SCA runtime MUST" rather than "A conformant
SCA runtime MUST" - the question of conformance should be left to
be dealt with elsewhere</mje>
(Observation - this is really another RFC 2119 change to an unrelated section,
but given that meaning intended here came from section 4, this is OK by
me.)
Random note - in assembly CD01-rev3, the following appear to be in error:
- line 2036, 2040, 2054, 2058 - @name attribute on the binding
element is xs:NCName, not xs:QName
<mje> I don't think
that this is an error. The @name attribute defines the LOCAL part
of a QName - and such local parts are always declared as NCName
with the namespace deriving
from the @targetNamespace of the enclosing document.
The only reason to have
an attribute that is declared as a QName is where the attribute is referring
to some XML entity declared elsewhere - in that case
the full QName is needed.
</mje>
And finally, here's the replacement for section four,
including all the edits we discussed today.
4 Transport Binding
The binding.ws element provides numerous ways to specify
exactly how messages ought to be transmitted from or to the reference or
service. Those ways include references to WSDL binding elements from the
@wsdlElement attribute, policy intents, and even vendor extensions within
the binding.ws element. However, all of those ways to indicate how messages
get carried happen to be optional. This section describes the defaults
that MUSTto be used if the specific transport details
are not otherwise specified.
4.1 Intents
So as to narrow the range of choices for how messages are
carried, the following policy intents affect the transport binding.
- soap
This indicates that messages MUST be transmitted using SOAP. One or more
SOAP versions can be used.
- soap.1_1
Messages MUST be transmitted using only SOAP 1.1.
- soap.1_2
Messages MUST be transmitted using only SOAP 1.2.
4.2
Default Transport Binding Rules
4.2.1 WS-I Basic Profile Alignment
To align to WS-I Basic Profile, the resulting WSDL port
mustneeds to be all document-literal, or all rpc-literal
binding (R2705).
This means, for any given portType, for all messages referenced by all
operations in that portType, either
- that every message part references an XML Schema type
(rpc-literal pattern)
- or that every message references exactly zero or one XML
Schema elements (document-literal pattern)
A portType
that does not fit one of these two patterns MUST be treated as an error
by a conforming implementation.
<mje>A portType which
comes from where?? I think some explanation of what entities are
being processed is necessary here - if this is simply the portType from
the <interface/> (directly or derived by mapping) then say so.
</mje>
<mje>There is that
"conforming implementation" term again - "SCA runtime"
is the agreed term</mje>
The rest of this section assumes the short-hand reference
of a "rpc-literal" or "document-literal" pattern, depending
on which of the two bullet points above it matches.
4.2.2 Default Transport Binding Rules
In the event that the transport details are not otherwise
determined, a conforming implementation MUST enable the following configuration:
- HTTP-based transfer protocol
- Except when an intent or policy mandates the use of only
SOAP 1.2,
supportgenerate bindings for SOAP 1.1
<mje>I'd rewrite this as follows: Bindings for SOAP 1.1 are
used, except where an intent or a policy is applied which mandates the
use of SOAP 1.2 in which case Bindings for SOAP 1.2 are used.</mje>
- "literal" format as described in section 3.5
of [WSDL11]
- For document-
lteralliteral pattern,
each message uses "document" style, as per section 3.5 of [WSDL11].
- For rpc-literal pattern, each message uses "rpc"
style, as per section 3.5 of [WSDL11]. In this case, the child elements
of the SOAP Body element
mustMUST be namespace
qualified with a non-empty namespace name. This namespace MUST be the structural
URI associated with component, with a "service-name/binding-name"
appended the binding.
<mje>Why this namespace?</mje>
- For SOAP 1.1 messages, the SOAPAction HTTP header described
in section 6.1.1 represents the empty string, in quotes ("").
- For SOAP 1.2 messages, the
optional SOAP
Action feature described in section 6.5 of [SOAP12Adjuncts] does not appear.
- All WSDL message parts are carried in the SOAP
body
4.2.3 SOAP versions
Where no specific version of SOAP has been dictated,
an SCA runtime MUST generate bindings for SOAP 1.1.
4.3 WSDL portType
An SCA service has a single interface description.
For the Web Services binding, this interface description MUST be converted
into a WSDL 1.1 portType.
B. Appendix - WSDL Generation
Due to the number of factors that determine how a WSDL
might be generated, including compatibility with existing WSDL uses, precise
details cannot be specified. For example, implementation decisions can
affect the way WSDL might be generated. For reference, and consistency,
this section suggests non-normative choices for some of the various details
involved in generating WSDL. For brevity, the following definitions
apply:
- component name = the value of the @name attribute of
the component element containing the binding.ws element
- service name = the value of the @name attribute of
the service element containing the binding.ws element
- binding name = the value of @name attribute of the
binding.ws element, or the default if no @name attribute is present
- SOAP version = either "SOAP11" or "SOAP12"
as appropriate
With those definitions in
place, here are the suggested choices:
- wsdl:definitions/@name = <
componentNamecomponent
name> + "." + <serviceNameservice
name>
- wsdl:definitions/@targetNamespace =
<HTTP Base
URI> + "/" + <componentName> + "/" + <serviceName><structural
URI for the service>
- import each WSDL 1.1 portType, rather than putting them
inline
- wsdl:binding/@name = <
name of bindingbinding
name> + <SOAP Versionversion> + "Binding"
- wsdl:service/@name = <
name of the serviceservice
name>
- wsdl:port/@name = <
name of bindingbinding
name> + <SOAP Versionversion> + "Port"
In
the above, "<SOAP Version>" should beis
either "SOAP11" or "SOAP12" as appropriate.
---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that generates
this mail. Follow this link to all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]