- From: Roberto Chinnici via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 01 Mar 2005 19:58:45 +0000
- To: public-ws-desc-eds@w3.org
Update of /sources/public/2002/ws/desc/wsdl20
In directory hutz:/tmp/cvs-serv17444
Modified Files:
wsdl20.html wsdl20.xml wsdl20.xsd
Log Message:
Implemented resolution to LC55 in part 1, including updating
the wsdl schema.
Index: wsdl20.xsd
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.xsd,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** wsdl20.xsd 24 Feb 2005 01:57:14 -0000 1.21
--- wsdl20.xsd 1 Mar 2005 19:58:43 -0000 1.22
***************
*** 298,301 ****
--- 298,303 ----
<xs:element name='input' type='wsdl:BindingOperationMessageType' />
<xs:element name='output' type='wsdl:BindingOperationMessageType' />
+ <xs:element name='infault' type='wsdl:BindingOperationFaultType' />
+ <xs:element name='outfault' type='wsdl:BindingOperationFaultType' />
<xs:element name='feature' type='wsdl:FeatureType' />
<xs:element name='property' type='wsdl:PropertyType' />
***************
*** 320,323 ****
--- 322,339 ----
</xs:complexType>
+ <xs:complexType name='BindingOperationFaultType'>
+ <xs:complexContent>
+ <xs:extension base='wsdl:ExtensibleDocumentedType' >
+ <xs:choice minOccurs='0' maxOccurs='unbounded' >
+ <xs:element name='feature' type='wsdl:FeatureType' />
+ <xs:element name='property' type='wsdl:PropertyType' />
+ <xs:any namespace='##other' processContents='lax' />
+ </xs:choice>
+ <xs:attribute name='ref' type='xs:QName' use='required' />
+ <xs:attribute name='messageLabel' type='xs:NCName' use='optional' />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
<xs:complexType name='BindingFaultType' >
<xs:complexContent>
Index: wsdl20.html
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.html,v
retrieving revision 1.155
retrieving revision 1.156
diff -C2 -d -r1.155 -r1.156
*** wsdl20.html 1 Mar 2005 15:44:06 -0000 1.155
--- wsdl20.html 1 Mar 2005 19:58:43 -0000 1.156
***************
*** 416,474 ****
"#Binding_Message_Reference_Mapping">Mapping Binding Message
Reference's XML Representation to Component Properties</a><br />
! 2.13 <a href="#Service">Service</a><br />
2.13.1 <a href=
"#Service_details">The Service Component</a><br />
! 2.13.1.1
<a href="#Service_OperationName">Operation Name Mapping
Requirement</a><br />
! 2.13.2 <a href=
"#Service_XMLRep">XML Representation of Service Component</a><br />
[...1145 lines suppressed...]
+ </tr>
+ <tr>
<td rowspan="1" colspan="1">Service</td>
<td rowspan="1" colspan="1"><code><em>service</em></code>
***************
*** 7845,7848 ****
--- 8141,8153 ----
<td rowspan="1" colspan="1">RRC</td>
<td rowspan="1" colspan="1"><a href=
+ "http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC55">LC55</a>:
+ added Binding Fault Reference component and updated the definition
+ of the Binding Message Reference component to be in sync with it,
+ per issue resolution.</td>
+ </tr>
+ <tr>
+ <td rowspan="1" colspan="1">20050301</td>
+ <td rowspan="1" colspan="1">RRC</td>
+ <td rowspan="1" colspan="1"><a href=
"http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC51">LC51</a>:
added Fault Reference component to the feature composition section;
Index: wsdl20.xml
===================================================================
RCS file: /sources/public/2002/ws/desc/wsdl20/wsdl20.xml,v
retrieving revision 1.184
retrieving revision 1.185
diff -C2 -d -r1.184 -r1.185
*** wsdl20.xml 1 Mar 2005 15:44:06 -0000 1.184
--- wsdl20.xml 1 Mar 2005 19:58:43 -0000 1.185
***************
*** 468,471 ****
--- 468,472 ----
<t1/> bindingOp<ldata/>BindingOperation<rdata/> | <nl/>
<t1/> bindingMessageRef<ldata/>BindingMessageReference<rdata/> | <nl/>
+ <t1/> bindingFaultRef<ldata/>BindingFaultReference<rdata/> | <nl/>
<t1/> service<ldata/>Service<rdata/> | <nl/>
<t1/> endpoint<ldata/>Endpoint<rdata/>
***************
*** 474,478 ****
<z:see names="Description ElementDeclaration TypeDefinition Interface InterfaceFault InterfaceOperation
MessageReference FaultReference Feature Property Binding BindingFault BindingOperation
! BindingMessageReference Service Endpoint"/>
<p>
--- 475,479 ----
<z:see names="Description ElementDeclaration TypeDefinition Interface InterfaceFault InterfaceOperation
MessageReference FaultReference Feature Property Binding BindingFault BindingOperation
! BindingMessageReference BindingFaultReference Service Endpoint"/>
<p>
***************
*** 577,580 ****
--- 578,582 ----
<forall/> x : BindingOperation @ Id(bindingOp(x)) = x.id <nl/>
<forall/> x : BindingMessageReference @ Id(bindingMessageRef(x)) = x.id <nl/>
+ <forall/> x : BindingFaultReference @ Id(bindingFaultRef(x)) = x.id <nl/>
<forall/> x : Service @ Id(service(x)) = x.id <nl/>
<forall/> x : Endpoint @ Id(endpoint(x)) = x.id
***************
*** 583,587 ****
<z:see names="Component ID Description ElementDeclaration TypeDefinition Interface InterfaceFault InterfaceOperation
MessageReference FaultReference Feature Property Binding BindingFault BindingOperation
! BindingMessageReference Service Endpoint"/>
<p>
--- 585,589 ----
<z:see names="Component ID Description ElementDeclaration TypeDefinition Interface InterfaceFault InterfaceOperation
MessageReference FaultReference Feature Property Binding BindingFault BindingOperation
! BindingMessageReference BindingFaultReference Service Endpoint"/>
<p>
***************
*** 725,728 ****
--- 727,731 ----
<item><p>Let <z:i>bindingOpComps</z:i> be the subset of Binding Operation components.</p></item>
<item><p>Let <z:i>bindingMessageRefComps</z:i> be the subset of Binding Message Reference components.</p></item>
+ <item><p>Let <z:i>bindingFaultRefComps</z:i> be the subset of Binding Fault Reference components.</p></item>
</ulist>
***************
*** 733,736 ****
--- 736,740 ----
bindingOpComps : <power/> BindingOperation <nl/>
bindingMessageRefComps : <power/> BindingMessageReference <nl/>
+ bindingFaultRefComps : <power/> BindingFaultReference <nl/>
<where/>
bindingComps = {~x : Binding | <nl/>
***************
*** 745,751 ****
bindingMessageRefComps = {~x : BindingMessageReference | <nl/>
<t1/> bindingMessageRef(x) <in/> components~}
</schema>
! <z:see names="ComponentModel1 Binding BindingFault BindingOperation BindingMessageReference" />
</z:notation>
--- 749,758 ----
bindingMessageRefComps = {~x : BindingMessageReference | <nl/>
<t1/> bindingMessageRef(x) <in/> components~}
+ <also/>
+ bindingFaultRefComps = {~x : BindingFaultReference | <nl/>
+ <t1/> bindingFaultRef(x) <in/> components~}
</schema>
! <z:see names="ComponentModel1 Binding BindingFault BindingOperation BindingMessageReference BindingFaultReference" />
</z:notation>
***************
*** 763,766 ****
--- 770,774 ----
<item><p>Let <z:i>bindingOpIds</z:i> be the subset of Binding Operation component identifiers.</p></item>
<item><p>Let <z:i>bindingMessageRefIds</z:i> be the subset of Binding Message Reference component identifiers.</p></item>
+ <item><p>Let <z:i>bindingFaultRefIds</z:i> be the subset of Binding Fault Reference component identifiers.</p></item>
</ulist>
***************
*** 771,774 ****
--- 779,783 ----
bindingOpIds : <power/> ID <nl/>
bindingMessageRefIds : <power/> ID
+ bindingFaultRefIds : <power/> ID
<where/>
bindingIds = {~x : bindingComps @ x.id~} <nl/>
***************
*** 776,779 ****
--- 785,789 ----
bindingOpIds = {~x : bindingOpComps @ x.id~} <nl/>
bindingMessageRefIds = {~x : bindingMessageRefComps @ x.id~}
+ bindingFaultRefIds = {~x : bindingFaultRefComps @ x.id~}
</schema>
***************
*** 3919,3922 ****
--- 3929,3939 ----
those within the interface component referred to by the
binding component (if any).</p></item>
+
+ <item><p>Binding Fault Reference component: all
+ features asserted within the binding fault reference
+ component, those within the parent binding operation
+ component, those within its parent binding component and
+ those within the interface component referred to by the
+ binding component (if any).</p></item>
</ulist>
***************
*** 5258,5261 ****
--- 5275,5279 ----
operationReference : ID <nl/>
messageReferences : <power/> ID
+ faultReferences : <power/> ID
</schema>
***************
*** 5280,5283 ****
--- 5298,5302 ----
<t1/> operationReference <in/> interfaceOpIds <land/> <nl/>
<t1/> messageReferences <subseteq/> bindingMessageRefIds
+ <t1/> faultReferences <subseteq/> bindingFaultRefIds
</schema>
***************
*** 5288,5291 ****
--- 5307,5311 ----
<item><p>The Interface Operation component of each Binding Operation component is contained in the component model.</p></item>
<item><p>The Binding Message Reference components of each Binding Operation component are contained in the component model.</p></item>
+ <item><p>The Binding Fault Reference components of each Binding Operation component are contained in the component model.</p></item>
</ulist>
***************
*** 5468,5487 ****
<ulist>
! <item><p>{message label} REQUIRED. An <emph>xs:NCName</emph>.
! The value of this property identifies the
! role that the message for which binding details are being
! specified plays in the {message exchange pattern} of the
! Interface Operation component being bound by the
containing Binding Operation component.</p></item>
- <item><p>{direction} REQUIRED. An <emph>xs:token</emph> with one of
- the values <emph>in</emph> or <emph>out</emph> indicating whether the message
- is coming to the service or going from the service,
- respectively. The direction MUST be the same as the
- direction of the message identified by the {message label}
- property in the {message exchange pattern} of the
- Interface Operation component being bound by the
- containing Binding Operation component.</p></item>
-
<item><p>{features} OPTIONAL. A set of Feature components.</p></item>
--- 5488,5496 ----
<ulist>
! <item><p>{message reference} REQUIRED. A Message Reference
! component among those in the {message references} property
! of the Interface Operation component being bound by the
containing Binding Operation component.</p></item>
<item><p>{features} OPTIONAL. A set of Feature components.</p></item>
***************
*** 5496,5505 ****
<schema xmlns="http://www.w3.org/2004/zml" name="BindingMessageReference">
Base <nl/>
! messageLabel : NCName <nl/>
! direction : Direction
</schema>
- <z:see names="Base NCName Direction"/>
-
</z:notation>
--- 5505,5511 ----
<schema xmlns="http://www.w3.org/2004/zml" name="BindingMessageReference">
Base <nl/>
! messageReference: MessageReference
</schema>
</z:notation>
***************
*** 5531,5535 ****
<p>For each Binding Message Reference component in the {message
references} property of a Binding Operation component, the
! {message label} property MUST be unique. That is, the same
message cannot be bound twice within the same operation.</p>
--- 5537,5541 ----
<p>For each Binding Message Reference component in the {message
references} property of a Binding Operation component, the
! {message reference} property MUST be unique. That is, the same
message cannot be bound twice within the same operation.</p>
***************
*** 5674,5695 ****
</tr>
<tr>
! <td>{message label}</td> <td>The actual value of
! the <att>messageLabel</att> &AII; if any;
! otherwise the {message label} property of the
! message with same {direction} from the
! {message exchange pattern} of the Interface
! Operation component being bound, provided
! there is exactly one such message; otherwise
! error.</td>
</tr>
! <tr>
! <td>{direction}</td> <td>If the [local name] of
! the &EII; is <el>input</el> then
! <attval>in</attval>, else if the [local name]
! of the &EII; is <el>output</el> then
! <attval>out</attval>.
! </td>
</tr>
<tr>
<td>{features}</td>
--- 5680,5982 ----
</tr>
<tr>
! <td>{message reference}</td>
! <td> Define the set of eligible
! message reference components as the set of Message Reference
! components listed under the {message references} property
! of the Interface operation component being bound such that
! their {direction} property matches the one denoted by the
! [local name] of the &EII;, i.e. whose {direction} is <el>in</el>
! if the [local name] of the &EII; is <el>input</el>, resp.
! <el>out</el> if it is <el>output</el>. If the
! <att>messageLabel</att> &AII; has a value, then
! the Message Reference component among the
! eligible message reference components with the same
! {messageLabel} property; otherwise, the Message Reference
! component among the eligible message reference components,
! provided there is exactly one such component; otherwise error.</td>
</tr>
! <tr>
! <td>{features}</td>
! <td>
! The set of Feature components corresponding to the
! <el>feature</el> &EII;s in
! [children], if any.
! </td>
! </tr>
! <tr>
! <td>{properties}</td>
! <td>
! The set of Property components corresponding to the
! <el>property</el> &EII;s in
! [children], if any.
! </td>
</tr>
+ </tbody>
+ </table>
+
+ </div3>
+ </div2>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <div2 id="Binding_Fault_Reference">
+ <head>Binding Fault Reference</head>
+
+ <div3 id="Binding_Fault_Reference_details">
+ <head>The Binding Fault Reference Component</head>
+
+ <p>A Binding Fault Reference component describes a concrete
+ binding of a particular fault participating in an operation
+ to a particular concrete message format. </p>
+
+ <p>The properties of the Binding Fault Reference component
+ are as follows:</p>
+
+ <ulist>
+ <item><p>{fault reference} REQUIRED. A Fault Reference
+ component among those in the {fault references} property
+ of the Interface Operation component being bound by the
+ containing Binding Operation component.</p></item>
+
+ <item><p>{features} OPTIONAL. A set of Feature components.</p></item>
+
+ <item><p>{properties} OPTIONAL. A set of Property components.</p></item>
+ </ulist>
+
+ <z:notation name="BindingFaultReference">
+ <p>
+ Let <z:i>BindingFaultReference</z:i> be the set of all Binding Fault Reference components:
+ </p>
+
+ <schema xmlns="http://www.w3.org/2004/zml" name="BindingFaultReference">
+ Base <nl/>
+ faultReference: FaultReference
+ </schema>
+
+ </z:notation>
+
+ <z:notation name="BindingFaultReferenceRI">
+
+ <p>
+ Each component referenced by a Binding Fault Reference component must exist in the component model.
+ </p>
+ <p>
+ Let <z:i>BindingFaultReferenceRI</z:i> express the referential integrity constraints on the Binding Fault Reference component:
+ </p>
+
+ <schema xmlns="http://www.w3.org/2004/zml" name="BindingFaultReferenceRI">
+ ComponentModel2
+ <where/>
+ <forall/> BindingFaultReference | <nl/>
+ <t1/> <theta/>BindingFaultReference <in/> bindingFaultRefComps @ <nl/>
+ <t2/> BaseRI
+ </schema>
+
+ <z:see names="ComponentModel2 BindingFaultReference BaseRI" />
+
+ <ulist>
+ <item><p>Every Binding Fault Reference component satifies the base referential integrity constraints.</p></item>
+ </ulist>
+
+ </z:notation>
+
+ <p>For each Binding Fault Reference component in the {fault
+ references} property of a Binding Operation component, the
+ {fault reference} property MUST be unique. That is, the same
+ fault cannot be bound twice within the same operation.</p>
+
+ </div3>
+
+ <div3 id="Binding_Fault_Reference_XMLRep">
+ <head>XML Representation of Binding Fault Reference Component</head>
+
+ <eg xml:space="preserve"><description>
+ <binding>
+ <operation>
+ <<b>infault</b>
+ ref="<emph>xs:QName</emph>"
+ messageLabel="<emph>xs:NCName</emph>"?>
+ <documentation />?
+ [ <feature /> | <property /> ]*
+ </<b>infault</b>>
+ <<b>outfault</b>
+ ref="<emph>xs:QName</emph>"
+ messageLabel="<emph>xs:NCName</emph>"?>
+ <documentation />?
+ [ <feature /> | <property /> ]*
+ </<b>outfault</b>>
+ </operation>
+ </binding>
+ </description>
+ </eg>
+
+ <p>
+ The XML representation for a Binding Fault Reference component
+ is an &EII; with the following Infoset properties:
+ </p>
+ <ulist>
+ <item><p>A [local name] of <el>infault</el> or
+ <el>outfault</el>.</p></item>
+
+ <item><p>A [namespace name] of
+ <attval>&wsdl-ns;</attval>.</p></item>
+
+ <item><p>One or more &AII;s amongst its [attributes] as
+ follows:</p>
+ <ulist>
+ <item>
+ <p>
+ A REQUIRED <att>ref</att> &AII; as described below
+ in <specref ref="Binding_Fault_Reference_ref_attribute"/>.
+ </p>
+ <p>
+ An OPTIONAL <att>messageLabel</att> &AII; as
+ described below in <specref
+ ref="Binding_Fault_Reference_messageLabel_attribute"/>.
+ </p>
+ <p>If the {message exchange pattern} of the
+ Interface Operation component being bound has only
+ one message with a given value for {direction}, then
+ the <att>messageLabel</att> &AII; is optional for
+ the XML representation of the Binding Fault Reference
+ component with that {direction}.
+ </p>
+ </item>
+ <item>
+ <p>
+ Zero or more namespace qualified &AII;s.
+ The [namespace name] of such
+ &AII;s MUST NOT be <attval>&wsdl-ns;</attval>.
+ </p>
+ </item>
+ </ulist>
+ </item>
+ <item>
+ <p>Zero or more &EII; amongst its [children], in
+ order, as follows:</p>
+ <olist>
+ <item>
+ <p>
+ An OPTIONAL <el>documentation</el> &EII; (see <specref
+ ref="eii-documentation"/>).
+ </p>
+ </item>
+ <item><p>Zero or more &EII;s from among the following, in any order:</p>
+ <ulist>
+ <item><p>Zero or more <el>feature</el> &EII;s <specref ref="Feature_XMLRep"/>
+ </p></item>
+ <item><p>Zero or more <el>property</el> &EII;s <specref ref="Property_XMLRep"/>
+ </p></item>
+ <item><p>Zero or more namespace-qualified
+ &EII;s amongst its [children]. The
+ [namespace name] of such &EII;s MUST NOT
+ be <attval>&wsdl-ns;</attval>. Such &EII;s are
+ considered to be binding fault reference extension
+ elements as described below (see <specref
+ ref="Binding_Fault_Reference_extension_elements"/>).
+ </p></item>
+ </ulist>
+ </item>
+ </olist>
+ </item>
+ </ulist>
+
+ <div4 id="Binding_Fault_Reference_ref_attribute">
+ <head><att>ref</att> &AII; with <el>infault</el> or
+ <el>outfault</el> [owner]</head>
+ <p>The <att>ref</att> &AII; has the following Infoset properties:</p>
+ <ulist>
+ <item><p>A [local name] of <att>ref</att>.</p></item>
+ <item><p>A [namespace name] which has no value.</p></item>
+ </ulist>
+ <p>
+ The type of the <att>ref</att> &AII; is <emph>xs:QName</emph>.
+ </p>
+ </div4>
+
+ <div4 id="Binding_Fault_Reference_messageLabel_attribute">
+ <head><att>messageLabel</att> &AII; with <el>infault</el> or
+ <el>outfault</el> [owner]</head>
+ <p>The <att>messageLabel</att> &AII; has the following Infoset properties:</p>
+ <ulist>
+ <item><p>A [local name] of <att>messageLabel</att>.</p></item>
+ <item><p>A [namespace name] which has no value.</p></item>
+ </ulist>
+ <p>
+ The type of the <att>messageLabel</att> &AII; is <emph>xs:NCName</emph>.
+ </p>
+ </div4>
+
+ <div4 id="Binding_Fault_Reference_extension_elements">
+ <head>Binding Fault Reference extension elements</head>
+ <p>
+ Binding Fault Reference extension elements are used
+ to provide information specific to a particular
+ fault in an operation. The semantics of such &EII;s
+ are defined by the specification for those
+ &EII;s. Such specifications are expected to annotate
+ the Binding Fault Reference component with
+ additional properties and specify the mapping between
+ those properties and the XML representation.
+ </p>
+ </div4>
+
+ </div3>
+
+ <div3 id="Binding_Fault_Reference_Mapping">
+ <head>Mapping Binding Fault Reference's XML Representation to Component Properties</head>
+ <p>
+ The mapping between the properties of the Binding Fault
+ Reference component (see <specref
+ ref="Binding_Fault_Reference_details"/>) and the XML
+ Representation of the <el>binding</el> &EII; (see <specref
+ ref="Binding_Fault_Reference_XMLRep"/>) is as described in
+ <specref ref="tab_Binding_Fault_Reference_Mapping"/>.
+ </p>
+
+ <table border="1" id="tab_Binding_Fault_Reference_Mapping">
+ <caption>Mapping between Binding Fault Reference Component Properties and XML Representation</caption>
+ <col width="20%" />
+ <col width="80%" />
+ <tbody>
+ <tr>
+ <th>Property</th>
+ <th>Mapping</th>
+ </tr>
+ <tr>
+ <td>{fault reference}</td>
+ <td> Define the set of eligible
+ fault reference components as the set of Fault Reference
+ components listed under the {fault references} property
+ of the Interface operation component being bound such that
+ (1) their {direction} property matches the one denoted by the
+ [local name] of the &EII;, i.e. whose {direction} is <el>in</el>
+ if the [local name] of the &EII; is <el>infault</el>, resp.
+ <el>out</el> if it is <el>outfault</el>, and (2) the
+ Interface Fault components referred to by their {fault reference}
+ property have a {name} property whose value is equal to
+ the value of the <att>ref</att> &AII; of the &EII;.
+ If the <att>messageLabel</att> &AII; has a value, then
+ the Fault Reference component among the
+ eligible fault reference components with the same
+ {messageLabel} property; otherwise, the Fault Reference
+ component among the eligible fault reference components,
+ provided there is exactly one such component; otherwise error.</td>
+ </tr>
+
<tr>
<td>{features}</td>
***************
*** 7787,7790 ****
--- 8074,8093 ----
</output>*
+ <infault ref="<emph>xs:QName</emph>" messageLabel="<emph>xs:NCName</emph>"? >
+ <documentation />?
+
+ <feature ... />*
+
+ <property ... />*
+ </infault>*
+
+ <outfault ref="<emph>xs:QName</emph>" messageLabel="<emph>xs:NCName</emph>"? >
+ <documentation />?
+
+ <feature ... />*
+
+ <property ... />*
+ </outfault>*
+
<feature ... />*
***************
*** 8480,8483 ****
--- 8783,8794 ----
</tr>
<tr>
+ <td>Binding Fault Reference</td>
+ <td><code><emph>binding</emph></code> NCName</td>
+ <td><code><emph>operation</emph></code> QName</td>
+ <td><code><emph>fault</emph></code> QName</td>
+ <td><code><emph>message</emph></code> NCName</td>
+ <td><code>wsdl.bindingFaultReference(<emph>binding</emph>/<emph>operation</emph>/<emph>fault</emph>/<emph>message</emph>)</code></td>
+ </tr>
+ <tr>
<td>Service</td>
<td><code><emph>service</emph></code> NCName</td>
***************
*** 8852,8855 ****
--- 9163,9173 ----
<td>20050301</td>
<td>RRC</td>
+ <td><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC55">LC55</loc>:
+ added Binding Fault Reference component and updated the definition of the
+ Binding Message Reference component to be in sync with it, per issue resolution.</td>
+ </tr>
+ <tr>
+ <td>20050301</td>
+ <td>RRC</td>
<td><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC51">LC51</loc>:
added Fault Reference component to the feature composition section; added mapping
Received on Tuesday, 1 March 2005 19:58:46 UTC