Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Особенности proxy-WCF созданного из WSDL / 2 сообщений из 2, страница 1 из 1
16.08.2011, 18:09
    #37398285
Testor1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Особенности proxy-WCF созданного из WSDL
Всем привет

Столкнулся с проблемой

Получил от сервис провайдера wsdl файл. На базе него сгенерировал proxy файл с помощью svcutil.exe

svcutil.exe /targetClientVersion:Version35 /useSerializerForFaults /noStdLib /language:cs /namespace:*,myclass proxy.wsdl mytypes.xsd /out:.proxy.cs


Генерируется код
public interface SpProxyPort
{

// CODEGEN: Generating message contract since the operation HandleNPRequest is neither RPC nor document wrapped.
[System.ServiceModel.OperationContractAttribute(Action="urn:RRR:HHH/ISpProxySoap/HandleNPRequest", ReplyAction="*")]
[System.ServiceModel.FaultContractAttribute(typeof(NNN.AccessFault_Type), Action="urn:RRR:HHH/ISpProxySoap/HandleNPRequest", Name="AccessFault", Namespace=" http://yyy/commontypes%22)%5D]http://yyy/commontypes")]
[System.ServiceModel.FaultContractAttribute(typeof(NNN.TechnicalFault_Type), Action="urn:RRR:HHH/ISpProxySoap/HandleNPRequest", Name="TechnicalFault", Namespace=" http://yyy/commontypes%22)%5D]http://yyy/commontypes")]
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(NPMessageFromDBBase_Type))]
NNN.NPRequestResponce HandleNPRequest(NNN.NPRequest request);

}

далее переопределяю классы метода.

public class SpProxySoap : SpProxyPort
{
public NNN.NPRequestResponce HandleNPRequest(NNN.NPRequest request)
{
code
}
}

все компилируется на ура.

при попытке добавить сервис в wcftestclient.exe получае сообщение об ошибке
"The contract 'SpProxySoap' in client configuration does not match the name in service contract. To recover, please manually correct client configuration. Or check 'Always regenerate config when launching services' in the Tools->Options Menu, then refresh the service.

Если заменяю строчку
[System.ServiceModel.OperationContractAttribute(Action="urn:RRR:HHH/ISpProxySoap/HandleNPRequest", ReplyAction="*")]
на
[ServiceContract]
то все начинает работать.

Почему ? Как исправить проблему не в генерируемом proxy коде ?
...
Рейтинг: 0 / 0
16.08.2011, 21:47
    #37398528
Testor1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Особенности proxy-WCF созданного из WSDL
Testor1Всем привет

Столкнулся с проблемой

Получил от сервис провайдера wsdl файл. На базе него сгенерировал proxy файл с помощью svcutil.exe

svcutil.exe /targetClientVersion:Version35 /useSerializerForFaults /noStdLib /language:cs /namespace:*,myclass proxy.wsdl mytypes.xsd /out:.proxy.cs


Генерируется код
public interface SpProxyPort
{

// CODEGEN: Generating message contract since the operation HandleNPRequest is neither RPC nor document wrapped.
[System.ServiceModel.OperationContractAttribute(Action="urn:RRR:HHH/ISpProxySoap/HandleNPRequest", ReplyAction="*")]
[System.ServiceModel.FaultContractAttribute(typeof(NNN.AccessFault_Type), Action="urn:RRR:HHH/ISpProxySoap/HandleNPRequest", Name="AccessFault", Namespace=" http://yyy/commontypes%22)%5D]http://yyy/commontypes")]
[System.ServiceModel.FaultContractAttribute(typeof(NNN.TechnicalFault_Type), Action="urn:RRR:HHH/ISpProxySoap/HandleNPRequest", Name="TechnicalFault", Namespace=" http://yyy/commontypes%22)%5D]http://yyy/commontypes")]
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(NPMessageFromDBBase_Type))]
NNN.NPRequestResponce HandleNPRequest(NNN.NPRequest request);

}

далее переопределяю классы метода.

public class SpProxySoap : SpProxyPort
{
public NNN.NPRequestResponce HandleNPRequest(NNN.NPRequest request)
{
code
}
}

все компилируется на ура.

при попытке добавить сервис в wcftestclient.exe получае сообщение об ошибке
"The contract 'SpProxySoap' in client configuration does not match the name in service contract. To recover, please manually correct client configuration. Or check 'Always regenerate config when launching services' in the Tools->Options Menu, then refresh the service.

Если заменяю строчку
[System.ServiceModel.OperationContractAttribute(Action="urn:RRR:HHH/ISpProxySoap/HandleNPRequest", ReplyAction="*")]
на
[ServiceContract]
то все начинает работать.

Почему ? Как исправить проблему не в генерируемом proxy коде ?

Кажись сам наше ответ на вопрос
http://forums.asp.net/t/1427894.aspx/1
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Особенности proxy-WCF созданного из WSDL / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]