Décrire le schéma de documentation WSDL PortType avec le KIT DE développement logiciel (SDK) de l’adaptateur LOB WCF
Le WSDL généré par le KIT DE développement logiciel (SDK) de l’adaptateur LOB WCF contient des informations descriptives supplémentaires pour chaque portType. Le schéma de ces informations supplémentaires est décrit dans cette rubrique.
Schéma XML de la documentation
La documentation de l’opération est implémentée à l’aide de l’annotation du portType pour ajouter un nœud qui représente la documentation de l’adaptateur pour l’opération. Ce nœud contient des sous-nœuds qui décrivent davantage l’opération et les paramètres. Ce schéma est défini comme suit.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="adapterOperationDocumentation">
<xs:complexType>
<xs:sequence>
<xs:element name="summary" type="xs:string" />
<xs:element maxOccurs="unbounded" name="param">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="name" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="returns" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Lorsque WSDL est généré pour une opération donnée, le schéma précédent est utilisé pour fournir des informations descriptives supplémentaires dans un format lisible par l’homme. Par exemple, les informations portType suivantes sont retournées pour l’opération EchoString de l’adaptateur Echo.
<wsdl:portType name="EchoService">
<wsdl:operation name="EchoString">
<wsdl:documentation>
<doc:adapterOperationDocumentation>
<doc:summary>String EchoString( string aName)\</doc:summary>
<doc:param name="aName">This string will be echoed back to the user.\</doc:param>
<doc:returns>String value containing the value of aName \</doc:returns>
</doc:adapterOperationDocumentation>
</wsdl:documentation>
<wsdl:input wsaw:Action="Echo/EchoString" message="ns2:EchoService_EchoString_InputMessage" />
<wsdl:output wsaw:Action="Echo/EchoString/response" message="ns2:EchoService_EchoString_OutputMessage" />
</wsdl:operation>
</wsdl:portType>
Les valeurs des éléments de documentation sont obtenues à partir de Microsoft.ServiceModel.Channels.Common.ParameterizedOperationMetadata
pour l’opération. L’exemple précédent a été généré à la suite de l’exemple suivant.
ParameterizedOperationMetadata om = new ParameterizedOperationMetadata(operationId, operationId);
// set this if you want this operation to belong to this interface name
// in the generated proxy, the interface name will be EchoService
// and the client implementation name will be EchoServiceClient.
om.OperationGroup = "EchoService";
// set the operation namespace to be same as service namespace
om.OperationNamespace = EchoAdapter.SERVICENAMESPACE;
switch (operationId)
{
case "Echo/EchoString":
om.DisplayName = "EchoString";
om.OriginalName = "targetSystemEchoString";
om.Description = "String EchoString( string aName)";
OperationParameter parm1 = new OperationParameter("aName", OperationParameterDirection.In, QualifiedType.StringType, false);
parm1.Description = "This string will be echoed back to the user.";
OperationResult result = new OperationResult(new SimpleQualifiedType(XmlTypeCode.String), false);
result.Description = "String value containing the value of aName";
om.Parameters.Add(parm1);
om.OperationResult = result;
return om;