2013-03-27 2 views
0

현재 C# .NET에서 WCF 웹 서비스를 개발 중입니다. 나는 이것에 상당히 새롭다. DataContract "외부"개체를 반환해야하기 때문에 특정 메서드를 구현하는 방법에 대해 생각하고 있어요. 어떻게 작동하는지 모르겠습니다.외부 개체에 대한 DataContract 만들기

내 웹 서비스는 다른 타사 웹 서비스를 구현합니다. 그 이유는 모든 방법과 데이터를 대중에게 공개 할 수 없기 때문입니다. 따라서 우리는 타사 웹 서비스가 노출하는 특정 데이터와 메서드를 제거하는 웹 서비스를 설계하고 있습니다.

CourtVerdictResults GetVerdict (String verdictCaseNumber); 

난 후 밖으로 제거하는 방법에있어서 :

CourtVerdictResults GetVerdict (CourtVerdictRequest verdict); 

내 웹 서비스가 너무 좋아 그 방법의 버전을 박탈을 구현

제 3 자 웹 서비스는이 같은 방법을 노출 몇 가지 중요한 데이터 및 그 후 CourtVerdictResults 개체를 반환해야합니다.

하지만이 개체는 타사 웹 서비스에 정의되어 있습니다. 내 프로젝트는 웹 서비스를 참조하여 해당 객체를 알 수 있도록합니다. 하지만 내 자신의 웹 서비스는 DataContract로 그 객체를 가지고 있지 않습니다. 그렇다면 다른 사람들이 내 웹 서비스를 사용하기 시작하면 어떻게 그 객체를 반환 할 수 있습니까?

다른 사람들이 내 웹 서비스를 구현할 때 코드가 CourtVerdictResults에 대해 자동으로 알 수 있도록 특별한 조치를 취해야합니까?

답변

1

타사 개체와 동일하거나 원하는대로 동일한클래스 (다른 네임 스페이스 또는 이름이 충돌 함)를 만들 수 있습니다.

서비스에서 타사 개체를 가져 와서 개체에 값을 매핑하고 (ValueInjector 또는 유사한 것을 사용하는 경우 간단 함) 개체를 반환하십시오.

+0

유일한 방법입니까? 이 클래스는 꽤 ​​크고 복잡하고 다른 객체에 대한 참조를 보유하고 있기 때문에 내 WCF 서비스에 외부 웹 서비스의 'CourtVerdictResults'에서 데이터 계약을 자동 생성해야한다고 말할 방법이 없습니까? – Vivendi

+0

타사 사이트에서 WSDL을 노출합니까? 그렇다면 : http://stackoverflow.com/questions/2582341/how-to-convert-wsdl-file-to-class-file –

+0

나는 WSDL을 클래스로 변환하는 객체를 반환해야한다고 생각한다. 최선의 방법 (이 경우). 내가해야 할 일은 노출하고자하는 속성에'[DataContract]'와'[DataMemebers]'를 추가하는 것이다. – Vivendi

관련 문제