WSE를 사용하여 asmx 웹 서비스에 연결하는 .NET 2.0 Forms App 클라이언트가 있습니다.레거시 WSE 클라이언트를 WCF 서비스에 연결 중 ... 클라이언트가 변경되지 않았습니다.
서비스를 WCF로 업그레이드하고 VS 2010 및 .NET 4를 활용하고 싶지만 기존 (기업) 고객이 클라이언트 소프트웨어/프레임 워크 등을 업데이트하도록 강요 할 수는 없습니다. 역 호환성을 유지할 수 있다면 서비스를 업그레이드 할 수있는 유일한 방법입니다.
고객 끝에서 app.config는 업데이트 할 수 있지만 실행 파일은 업데이트 할 수 없습니다. 즉, 새로운 서비스 참조를 추가 할 수 없습니다.
우리는 클라이언트를 변경하지 않고 클라이언트 응용 프로그램에서 호출을 수락하도록 WCF 서비스를 구성하는 데 실패했습니다. 나는 이것이 심지어 할 수 있는지 의심 스럽다. 물론 클라이언트에서 새로운 참조를 추가하면 작동하지만 기존의 참조를 사용하고 새로운 서비스와 함께 '가짜'하려고 시도하지는 않습니다.
서비스의 끝에있는 설정은 다음과 같습니다
<bindings>
<basicHttpBinding>
<binding name="OnePointOneBinding" bypassProxyOnLocal="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceBehaviour" name="xyz.Services.xyzService">
<endpoint binding="basicHttpBinding" bindingConfiguration="OnePointOneBinding"
name="BasicBindingSvc" contract="xyz.Services.IxyzService" />
</service>
</services>
우리가 얻고있는 오류는 다음과 같습니다
액션과 메시지 'http://webservices.xyz.co.uk/ EndpointDispatcher에서 ContractFilter 불일치로 인해 xyz/DoTest '를 수신자에서 처리 할 수 없습니다. 계약 불일치 (보낸 사람과받는 사람 간의 동작이 일치하지 않음) 또는 보낸 사람과받는 사람 사이의 바인딩/보안 불일치가 원인 일 수 있습니다. 발신자와 수신자가 동일한 계약 및 동일한 바인딩 (메시지, 전송, 없음과 같은 보안 요구 사항 포함)을 가지고 있는지 확인하십시오.
모든 입력 기꺼이 위 대한
당신은 거의 도움을 얻지 못할 정도로 당신이 WSE 설정을 보여주지 않았기 때문에 –