2010-12-22 2 views
6

저는 .NET 세계에 익숙하지 않지만 SOAP Xml 방식으로 웹 서비스의 데이터를 요청하는 클라이언트를 생성하기 위해 VStudio C# 2010 (.NET 4.0)을 사용해야합니다. 나는 여기에 대한 답변을 검색했지만 더 혼란스러워. MSDN은 "Building XML Web Service Clients"는 .NET 4.0의 유산이며 WSDL은 유산이라고합니다. 대신에 "WCF"를 사용하십시오. WCF에서 나는 너무 많고 너무 모호했습니다. 그때 더 간단해야합니다 ... 그리고 내가 웹에서 찾을 수있는 모든 예제 - 그들은 모두 WSDL, "유산"을 사용합니다.SOAP xml 클라이언트 - Visual Studio 2010 C# 사용 - 어떻게?

여기 내가 웹 서비스에서 데이터를 얻기 위해 사용해야하는 서비스의 정의입니다 :

요청 :

POST /catalog.asmx HTTP/1.1 
Host: www.somewebsite.com 
Content-Type: text/xml; charset=utf-8 
Content-Length: length 
SOAPAction: "https://www.somewebsite.com/KeywordSearch" 

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <KeywordSearch xmlns="https://www.somewebsite.com/"> 
    <searchTerm>string</searchTerm> 
    <resultsReturned>int</resultsReturned> 
    </KeywordSearch> 
    </soap:Body> 
</soap:Envelope> 

응답 :

그래서
HTTP/1.1 200 OK 
Content-Type: text/xml; charset=utf-8 
Content-Length: length 

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    ...some stuff... 
    </soap:Body> 
</soap:Envelope> 

, 이 단순한 클라이언트를 구축하는 데 가장 적합한 방법은 무엇입니까? 어떤 도구/라이브러리/방법론을 초보자에게 제안 하시겠습니까? (VS 2010 C#, .NET 4.0 환경을 가정 할 때)?

+1

참고로, 무슨 일이 "유산"만드는 것 ASMX 웹 서비스 "웹 참조 추가"를 사용하십시오. marc_s가 암시 하듯이 "Add Service Reference"를 사용해야합니다. –

답변

5

서비스를 설명하는 WSDL/XSD가 있거나 해당 메타 데이터를 얻기 위해 URL을 탐색 할 수있는 경우 basicHttpBinding을 사용하는 WCF가 가장 좋은 방법 일 것입니다. WSDL은 확실히 이 아니며 "레거시"입니다. 레거시가 있다면 ASP.NET/ASMX 웹 서비스입니다.

연결할 수있는 WSDL/XSD 또는 URL이 주어지면 Visual Studio 내에서 Add Service Reference을 수행하기 만하면 즉시 WCF 서비스를 호출하여 실행해야합니다. 은 단순한 SOAP 웹 서비스를 호출하기 위해 모든 WCF를 알아야 할 필요가 있습니다 .... 또한 WCF 4.0에서는 많은 것들, 특히 구성이 크게 개선되고 단순화되었습니다.

resoures는 초보자 용 자습서부터 기사 및 샘플 코드에 이르기까지 모든 내용이있는 MSDN WCF Developer Center입니다. 또한

, WCF와 관련된 주제에 관심이있을 수 있습니다 단지에 대한 정보의 일부 정말 유용한 10 ~ 15 분 청크에 대한 screen cast library up on MSDN을 확인하십시오.

+0

아주 간단 해 보입니다. 감사! 나는 그것을 시도 할 것이다. – rita

+0

위대한 작품! 감사! – rita

+0

@rita : See! 결국 WCF는 그렇게 큰 무서운 괴물이 아닙니다 ;-) 지금 당장 필요로하는만큼 조금씩 배우십시오 .- 그리고 모두 이해하기 시작합니다 :-) –