|
Особенности proxy-WCF созданного из WSDL
|
|||
---|---|---|---|
#18+
Всем привет Столкнулся с проблемой Получил от сервис провайдера 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 коде ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2011, 18:09 |
|
Особенности proxy-WCF созданного из WSDL
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2011, 21:47 |
|
|
start [/forum/topic.php?fid=19&msg=37398285&tid=1397388]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
150ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
others: | 268ms |
total: | 499ms |
0 / 0 |