2013-03-27 5 views
2

wsdl에서 웹 서비스를 생성하고 속성이있는 일부 메소드가 있습니다.웹 서비스에 대한 참조 추가

[System.ServiceModel.OperationContractAttribute(Action="http://link/update", ReplyAction="*")] 
WebServices.updateResponse update(WebServices.updateRequest request); 

내 VS2010 프로젝트에서이 서비스에 대한 참조를 추가하려고하면 전혀 방법이 없습니다. 내가 속성

[System.ServiceModel.OperationContract] 
WebServices.updateResponse update(WebServices.updateRequest request); 

을 변경 한 후

방법은 모든 후 사용할 수 있습니다.

첫 번째 상황에서 잘못된 점은 무엇입니까?

답변

2

System.ServiceModel.OperationContract - System.ServiceModel.OperationContractAttribute의 짧은 버전입니다. 문제는 메타 데이터를 깨뜨린 ReplyAction = "*"에 있습니다 (WsdlExporter가 해당 작업을 무시한다는 의미입니다). 다른 값으로 설정하십시오. MSDN (http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontractattribute.replyaction.aspx)에서

:

응답 메시지의 동작 헤더에 대한 특정 값을 지정하는 것 외에도, 당신은 또한 문자열 "*"(별표)를 지정할 수 있습니다. 서비스에 별표를 지정하면 메시지에 액션을 추가하지 않도록 WCF에 지시합니다. 이는 메시지를 직접 프로그래밍하는 경우에 유용합니다. 클라이언트 응용 프로그램에서 별표 지정 은 WCF에 응답 작업의 유효성을 검사하지 않도록 지시합니다.

0

msdn에 따르면 차이가 없습니다. C#이 OperationContract를 OperationContractAttribute로 변환합니다.

+0

그래서 ... 첫 번째 상황에서는 서비스에 대한 참조를 추가하려고 시도 할 때 메소드가 없습니다. 그리고 그 이유를 찾으려고 노력합니다. – KopBuH

관련 문제