2010-07-15 3 views
0

우리는 ABC가 'Server_abc'인 WCF 서비스를 가지고 있습니다. 이제 클라이언트 측에서 프록시를 만들고 서버에서 전화를 겁니다. 제 생각에 폭스는 서버의 'Server_abc'를 가지고 내부적으로 연결하고 코드를 exucute 할 것입니다.클라이언트 프록시는 전화를 걸 때 서버에 내부적으로 주소를 보냅니 까?

[질문이 폭시는 클라이언트 측에서 숨겨진 서비스를 생성하고 호출이 수행 될 때 서버에 Client_abc를 보낼 수 있습니까

입니까? 다른 방법으로 서버에서 클라이언트로 일반 메서드 호출 (request -response)에 대한 응답이 어떻게 발생합니까?

또한 일반적인 의심

내 서비스는 WCF하지만 클라이언트가 자바의 경우, 클라이언트 측에서 생성 된 프록시가 java_Proxy 될 경우, 지금이 호출은 어떻게 coverted 서버 측에서 수신된다.

답변

0

는 폭시는 클라이언트 측에서 숨겨진 서비스 를 작성하고 전화 이 이루어질 때 서버에 Client_abc를 보낼 수 있습니까? 다른 현명한 방법은 (요청 -response)에 대한 클라이언트로부터 클라이언트로 오는 응답이 있습니까?

클라이언트는 숨겨진 서비스를 만들지 않습니다, 그것은하지 모든 지정된 바인딩을 사용하여 요청을 직렬화하고 예를 들어 WebRequest으로 낮은 수준의 클래스를 사용하여 와이어를 통해 보낼 수 있습니다. 이 모든 내부 배관은 물론 숨겨져 있으므로 걱정할 필요가 없으며 마치 로컬 기능을 호출하는 것처럼 보입니다. 반면에 서버는 동일한 직렬화를 수행하고 클라이언트가 비 직렬화 한 응답을 객체에 보냅니다.

내 서비스는 WCF하지만 클라이언트 자바의 경우, 클라이언트 측에서 생성 된 프록시가 java_Proxy 될 경우 지금 이 호출이 coverted 및 서버 측에서 을 수신하는 방법.

이것은 서비스가 어떤 바인딩을 사용하고 있는지에 달려 있습니다. 예를 들어 basicHttpBinding은 호환 가능하며 JAVA 클라이언트는 객체를 XML로 직렬화하여 서비스에 전송하는 데 문제가 없습니다. 서비스가 예를 들어 netTcpBinding과 같이 사용되는 경우 .NET 클라이언트 만 호출 할 수 있습니다. 여기에 comparison between the different bindings이 있습니다.

+0

"다른 한편으로는 서버가 동일한 직렬화를 수행하고 클라이언트가 서버로 역 직렬화하여 객체에 역 직렬화합니다." 이렇게 명확하지 않습니다 - 서버가 클라이언트에 응답을 어떻게 보냅니 까? 서버가 클라이언트의 ABC를 어떻게 알면 응답을 보낼 수 있습니까? – Somaraj

+0

** 서버 **는 ABC를 정의합니다. 클라이언트 프록시를 생성 할 때이 동일한 ABC를 사용하므로 클라이언트가 서버에 성공적으로 호출 한 다음 올바른 ABC를 사용하는 경우입니다. –

+0

올바른 부분입니다. 요청 부분입니다. 요청을 처리 한 후 응답이 다시 전송됩니다. 응답이 클라이언트에게 되돌려 보내지거나 서버 측의 WCFServiceFramwork에 응답이 전송되면 호출이 완료되고 해제됩니다 (호출 차단). 또는 응답을 클라이언트에 보내는 것과 같습니다.이 경우 클라이언트 측 주소는 서버 측에서 필요합니다. 기본적으로 요청 응답의 작동 방식이 명확하지 않습니다. – Somaraj

관련 문제