Я тихий новичок в мире WCF.
Я искал и пытался понять файл WSDL, сгенерированный WCF. причина, по которой я смотрю, состоит в том, что у наших клиентов с Java и PHP возникают проблемы с импортом WSDL.
Может ли кто-нибудь помочь мне ответить на следующие вопросы:
- <xsd:schema targetNamespace="http://tempuri.org/Imports"> <xsd:import schemaLocation="http://localhost:13818/WCFService2/Service.svc?xsd=xsd0" namespace="http://tempuri.org/" /> <xsd:import schemaLocation="http://localhost:13818/WCFService2/Service.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" /> <xsd:import schemaLocation="http://localhost:13818/WCFService2/Service.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/EvalServiceLibrary" /> </xsd:schema>
Запрос 1
На основании какого условия генерируются теги схемы импорта? Это основано на количестве контрактов на данные и членов или что-то еще (что это?)
- <wsdl:message name="IEvalService_SubmitEval_InputMessage"> <wsdl:part name="parameters" element="tns:SubmitEval" /> </wsdl:message> - <wsdl:message name="IEvalService_SubmitEval_OutputMessage"> <wsdl:part name="parameters" element="tns:SubmitEvalResponse" /> </wsdl:message>
Запрос 2: У меня нет имени сообщения IEvalService_SubmitEval_InputMessage. Как выше генерируется? Кроме того, что такое название детали и элемент?
<wsdl:portType name="IEvalService"> - <wsdl:operation name="SubmitEval"> <wsdl:input wsaw:Action="http://tempuri.org/IEvalService/SubmitEval" message="tns:IEvalService_SubmitEval_InputMessage" /> <wsdl:output wsaw:Action="http://tempuri.org/IEvalService/SubmitEvalResponse" message="tns:IEvalService_SubmitEval_OutputMessage" /> </wsdl:operation> </wsdl:portType>
Запрос 3:
не могли бы вы сказать мне, что такое "tns: IEvalService_SubmitEval_InputMessage" в приведенном выше фрагменте wsdl?
Fianally:
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org /wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org /2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:tns="http://tempuri.org/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
Есть ли способ удалить указанное ненужное пространство имен из кода WCF? Я знаю только, как изменить пространство имен.
Спасибо, куча.
tns
Какие ошибки возникают у ваших клиентов при импорте WSDL? Все эти части действительны.