Динамический вызов службы WCF - PullRequest
0 голосов
/ 22 декабря 2011

Мы хотели бы предоставить клиентам возможность войти в веб-сервис, наше приложение будет проверять сервис, предоставлять им входные параметры и тип, клиент будет вводить параметры, а наше приложение будет вызывать этот веб-сервис.Я нашел примеры кода, которые будут динамически проверять и вызывать службы .asmx, примеры в 3.5, основанные на общем интерфейсе, и примеры в 4.0, использующие новые сборки 4.0.

Мне не хватает способа динамической проверки службы WCF с использованием .NET 3.5 без обмена общим интерфейсом.Мне удалось определить имя и метод службы, но параметры значения не доступны в WSDL.

Вот мой простой сервис:

    [OperationContract]
    string GetDataInt(int value);

    [OperationContract]
    string GetDataStringInt(int value, string stringValue);

      [OperationContract]
    string GetDataStringIntBool(int value, string stringValue, bool boolValue);

А вот чтовходящие в качестве параметров в WSDL (для параметров):

<wsdl:message name="IService1_GetDataInt_InputMessage">
<wsdl:part name="parameters" element="tns:GetDataInt"/>
</wsdl:message>
<wsdl:message name="IService1_GetDataInt_OutputMessage">
<wsdl:part name="parameters" element="tns:GetDataIntResponse"/>
</wsdl:message>
<wsdl:message name="IService1_GetDataStringInt_InputMessage">
<wsdl:part name="parameters" element="tns:GetDataStringInt"/>
</wsdl:message>
<wsdl:message name="IService1_GetDataStringInt_OutputMessage">
<wsdl:part name="parameters" element="tns:GetDataStringIntResponse"/>
</wsdl:message>

Типы параметров не доступны в wsdl.Есть ли в .NET 3.5 способ проверить службу WCF и вызвать ее?

1 Ответ

1 голос
/ 22 декабря 2011

Параметры, конечно же, поступают в WSDL, но WSDL не сглаживается (если вы не используете WCFExtras , которые предоставляют сглаженный WSDL).Вы должны искать импорт WSDL и XSD - это указывает на другие файлы, содержащие остальную информацию, связанную с WSDL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...