프록시를 통해 Windows 양식에서 호출 할 수있는 기존 웹 WCF 웹 서비스가 있습니다.Windows Form 및 jQuery에서 웹 서비스 호출
이 서비스를 jQuery에서도 호출 할 수 있기를 바랍니다.
나는 다음 오전 다음 기사 : 이미
<services>
<service
behaviorConfiguration="ProductServiceBehavior"
name="ProductServiceHost.ProductService">
<endpoint
address=""
binding="basicHttpBinding"
contract="ProductServiceHost.IProductService" />
</service>
</services>
내 설정 파일 : 그러나 http://www.codemag.com/Article/1308041
, 나는 문서에서는 서비스의 web.config에 다음 코드를 추가 붙어 말한다이기 때문에
<service
behaviorConfiguration="MyApp.EndPoint.Services.TrainingServiceBehavior"
name="MyApp.EndPoint.Services.TrainingService">
<endpoint
address="" binding="wsHttpBinding"
contract="MyApp.EndPoint.Services.Interface.ITrainingService"
name="wsHttp"
bindingConfiguration="wsHttpBindingConfiguration">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
바인딩을 basicHttpBinding으로 바꾸려고했지만 서비스를 호출 할 때 오류가 발생합니다. f ROM에서 "원격 서버에서 오류를 반환했습니다 : (415) 지원되지 않는 미디어 유형"과 같은 내 Windows 양식.
내 서비스에 위의 바인딩이 모두 있어야합니까?
기본적으로 변경 사항은 다음 단계에서 실패합니다. 모든 응용 프로그램이 여전히 작동하는지 확인하려면이 시점에서 기존 응용 프로그램을 실행해야합니다.
누구나 올바른 방향으로 나를 가리킬 수 있습니까?
<service
behaviorConfiguration="MyApp.EndPoint.Services.TrainingServiceBehavior"
name="MyApp.EndPoint.Services.TrainingService">
<endpoint
address=""
binding="basicHttpBinding"
contract="MyApp.EndPoint.Services.Interface.ITrainingService" />
</service>
나는 또한 다음과 같은 장식 추가 :
내가 config 파일에 다음을 추가는 서비스를 호출 할 때 그러나[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
를 내 윈도우 폼 응용 프로그램은 이제 다음과 같은 오류를 가져옵니다 :
서버가 의미있는 응답을 제공하지 않았습니다. 이는 계약 불일치, 조기 세션 종료 또는 내부 서버 오류로 인해 발생할 수 있습니다.
아마도 같은 이름의 구성 파일에 두 개의 서비스가 있기 때문에 오류가 발생했을 수 있습니다. 새 서비스에 새 이름을 지정하면 새 방법을 만들어야합니까?
동일한 방법을 사용하려고하지만 불가능한 것 같습니다.
구성에 두 가지 서비스가 없어야합니다. 여러 개의 엔드 포인트를 가진 하나의 서비스 (이미 그 이름 ='MyApp.EndPoint.Services.TrainingService')가 필요합니다. 서비스에는 두 개의 엔드 포인트가 있습니다 (엔드 포인트에는'address = ""및 엔드 포인트에는'address = "mex"'가 있습니다). jquery의 경우'address = "Web"'을 갖는 새로운 끝점을 추가해야합니다. 해당 엔드 포인트의 세부 사항은 링크 된 기사에 설명되어 있습니다. 네 사건에서 내가 뭘 할거야? 작동하는 구성 (양식 테스트)에서 시작하여 설명 된대로 새 엔드 포인트 및 동작을 추가하십시오 (양식 테스트). jquery로 새 엔드 포인트를 사용하십시오. – venerik
감사합니다. vererik - 그 길을 따라 어떤 길을 가졌습니다. – Matt