Клиент предоставил нам схемы и wsdl для сервиса, который они хотели бы разработать. Когда я запрыгнул на проект, уже была внедрена служба. Когда я открываю файл svc в IE, он показывает обычную команду svcutil и т. Д. Когда я выполняю детализацию и смотрю схемы, импортируемые используемым нами wsdl, я замечаю, что MessageContracts не отображаются в схемы. Что я могу сделать, чтобы MessageContracts отображался так, чтобы схемы были идеальными?
Например, клиент дал нам это,
<xs:schema elementFormDefault="qualified" targetNamespace="http://ws.tcore.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ws.tcore.com">
<xs:import schemaLocation="ATISDataContracts.xsd" namespace="http://schemas.datacontract.org/2004/07/tcore.ATISDataContracts" />
<xs:import schemaLocation="Serialization.xsd" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
<xs:element name="ASICDetectorInventoryRequestMC">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="DetectorInventoryRequest" nillable="true" type="q1:DetectorInventoryRequestDC" xmlns:q1="http://schemas.datacontract.org/2004/07/tcore.ATISDataContracts" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ConnectionRequest" nillable="true" type="q2:ConnectionRequestDC" xmlns:q2="http://schemas.datacontract.org/2004/07/tcore.ATISDataContracts" />
но когда я детализирую wsdl из моего svc и скопировал / вставил импорт схемы, я заметил, что контракт сообщения отсутствует, хотя "q1:" и т. Д. Верны. Моя схема выглядит следующим образом.
<xs:schema elementFormDefault="qualified" targetNamespace="http://ws.tcore.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://ws.tcore.com">
<xs:import schemaLocation="http://localhost:9305/mex?xsd=xsd1" namespace="http://schemas.datacontract.org/2004/07/tcore.ATISDataContracts" />
<xs:import schemaLocation="http://localhost:9305/mex?xsd=xsd0" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
<xs:element name="DetectorInventoryRequest" nillable="true" type="q1:DetectorInventoryRequestDC" xmlns:q1="http://schemas.datacontract.org/2004/07/tcore.ATISDataContracts" />
<xs:element name="ConnectionRequest" nillable="true" type="q2:ConnectionRequestDC" xmlns:q2="http://schemas.datacontract.org/2004/07/tcore.ATISDataContracts" />
По большей части это выглядит так же. Как я могу заставить мои элементы MessageContract появляться в схеме?
Вот пример сообщения c # code
namespace tcore.ATISDataContracts
{
[MessageContract(IsWrapped = false)]
public class ASICDetectorInventoryRequestMC
{
[MessageHeader]
public ConnectionRequestDC ConnectionRequest;
[MessageBodyMember]
public DetectorInventoryRequestDC DetectorInventoryRequest;
}
}
Их схема показывает сложный тип, но моя производная схема показывает только элемент, а не сложный тип. Что я здесь не так делаю? Любая помощь или советы приветствуются.
Спасибо за помощь,
~ ck в Сан-Диего