WCF/WSDL 웹 서비스에 대한 액세스 권한이 부여되었습니다. 먼저이 작업을 수행합니다.GET 또는 POST를 사용하여 WCF (svcutil) 웹 서비스와 통신 할 수 있습니까?
svcutil.exe https://<thedomain>/foo/foo.svc?wsdl
필요한 C# 클래스를 생성합니다. 그런 다음이 클래스를 C# 응용 프로그램에 연결하면 제대로 작동합니다. 이 서버를 개발하지 않았으므로 변경할 수 없습니다.
질문은 이것이다 :
내가는 svcutil하지 않고이 서버와 통신 할 수있는 방법? 나는 단지 REST (GET 및 POST)를 사용하는 것을 선호한다.
이 방법을 사용하면 Windows가 아닌 Linux 또는 Mac 컴퓨터에서 연결할 수 있습니다. 내 C# 코드에서
업데이트는 다음과 같은 절차가 진행됩니다
서비스에 의해 사용중인 바인딩에 따라WSHttpBinding binding = new WSHttpBinding();
EndpointAddress endpoint = new EndpointAddress("<address>");
fooClient client = new fooClient(binding, endpoint);
//(fooClient class came from svcutil)
//I now work with fooClient, call methods on it, etc.
질문이 업데이트되었습니다. 그것은 WSHttpBinding을 사용하고 있습니다. 이것이 당신이 말한대로 SOAP 1.2를 사용한다는 것을 의미합니까? 그렇다면이 봉투의 형식을 어떻게 얻을 수 있습니까? (안타깝게도 웹 브라우저에서 서비스 URL을 방문하면 봉투 형식이 표시되지 않으며 svcutil.exe를 실행하는 지침과 일부 C# 코드가 표시됩니다 .SOAP 봉투 XML 형식을 얻는 다른 방법이 있습니까?) –
자신 만의 SOAP 클라이언트를 작성하려는 이유가 약간 명확하지 않습니다. SvcUtil의 문제점은 무엇입니까? 어쨌든 질문 _ "HTTP 클라이언트를 사용하여 C# SOAP 클라이언트를 작성하는 방법 _"은 너무 광범위하여 대답 할 수는 없지만 웹에서이를 검색 할 수 있습니다. – CodeCaster
@ code-ninja-54321 예를 들어 [참조를 추가하지 않고 웹 서비스?] (http://stackoverflow.com/questions/9482773/web-service-without-adding-a-reference)를 참조하십시오. – CodeCaster