semi合集-English.pdf - 第3272页
SEMI E128-0304 © SEMI 2003, 2004 6 6.5.1.3 faultstring — The faultstring element shall be present to describ e the cause of the fault in human understandable text. 6.5.1.4 faultactor — The use of the fa ultactor element …

SEMI E128-0304 © SEMI 2003, 2004 5
6.4.11 MessageHeader XML Schema — The XML schema in Figure 1 defines the MessageHeader element that is
required by this specification.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:semi-org:schema:xmlmsg:0:0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:element name="MessageHeader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="From" type="xsd:anyURI"/>
<xsd:element name="To" type="xsd:anyURI"/>
<xsd:element name="MessageType">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="REQUEST"/>
<xsd:enumeration value="REPLY"/>
<xsd:enumeration value="CALLBACK"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:choice>
<xsd:element name="RequestId" type="xsd:string"/>
<xsd:element name="CorrelationId" type="xsd:string"/>
</xsd:choice>
<xsd:element name="Action" type="xsd:string"/>
<xsd:element name="ReplyExpected" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="MessageId" type="xsd:string" minOccurs="0"/>
<xsd:element name="EventIndex" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Position" type="xsd:nonNegativeInteger"/>
<xsd:choice>
<xsd:element name="Total" type="xsd:nonNegativeInteger"/>
<xsd:element name="Finished" type="xsd:boolean"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Figure 1
Message Header XML Schema
6.5 SOAP Body Extensions — Any exceptions that occur shall be communicated with the use of SOAP Faults.
6.5.1 SOAP Faults — A SOAP Fault element shall be inserted into the SOAP body element as a body entry to
relay error status from the server back to the client. A body entry is a top level element within the Body element of
the SOAP envelope. SOAP Fault subelements are specified in SOAP 1.1 Section 4.4. Their usage is specified here.
6.5.1.1 fault — The fault element shall appear in the body of the SOAP envelope as a body entry whenever there is
an abnormal outcome in the server’s processing of a request message.
6.5.1.2 faultcode — The faultcode element shall be present in a SOAP fault element. The values specified in the
SOAP specification shall be used to indicate the nature of the error that occurred.
• “Client” indicates that the request message was not correct and could not be processed by the server.
• “Server” indicates that the request message was valid, but the server could not complete the requested action.

SEMI E128-0304 © SEMI 2003, 2004 6
6.5.1.3 faultstring — The faultstring element shall be present to describe the cause of the fault in human
understandable text.
6.5.1.4 faultactor — The use of the faultactor element is optional.
6.5.1.5 detail — The detail element is optional. It may be used to describe the cause of a fault that resulted from
processing the body of the request message.
6.6 XML Message Examples — The examples of XML messages presented in this section are intended to help the
reader understand the structure of messages that conform to this specification.
6.6.1 Example SOAP Envelope — The SOAP envelope illustrated in Figure 2 contains the required Header and
Body elements. It also includes the MessageHeader element specified in this standard. The contents of these
elements are intentionally left empty in this example.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<MessageHeader>
</MessageHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<PayloadData>
</PayloadData>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Figure 2
SOAP Envelope
6.6.2 Example Request Message — The message example shown in Figure 3 illustrates the completed
MessageHeader for a message from a client to a server to request a service. In this example, the SOAP Body
contains an element that identifies the data that is being requested with the Action “dataRequest.” The RequestId
assigned by the client is “7.” The client will expect a reply message that contains “7” in the CorrelationId.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<MessageHeader xmlns="urn:semi-org:schema:xmlmsg:0:0"
elementFormDefault="qualified">
<From>EqHost</From>
<To>EQ99</To>
<MessageType>REQUEST</MessageType>
<RequestId>7</RequestId>
<Action>dataRequest</Action>
<ReplyExpected>true</ReplyExpected>
</MessageHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<data>
<DATAID type="ASC">420</DATAID>
</data>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Figure 3
Request Message Example

SEMI E128-0304 © SEMI 2003, 2004 7
6.6.3 Example Successful Reply Message — The message example shown in Figure 4 illustrates the completed
MessageHeader for a reply message from a server to a client with a response to a prior request message. This
example represents a reply to the request message in the previous example. The CorrelationId of “7” serves to
associate this reply with the RequestId of the earlier request message.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-
ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<MessageHeader xmlns="urn:semi-org:schema:xmlmsg:0:0"
elementFormDefault="qualified">
<From>EQ99</From>
<To>EqHost</To>
<MessageType>REPLY</MessageType>
<CorrelationId>7</CorrelationId>
<Action>dataRequest</Action>
</MessageHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<data>
<DATAID type="ASC">420</DATAID>
<CEID type="ASC">GAS</CEID>
<DATASETS type="LIST">
<DATASET>
</DATASET>
</DATASETS>
</data>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Figure 4
Reply Message (Successful) Example