2014-03-31 4 views
0

HTTP 요청을 특정 포트로 보내는 Java 앱이 있습니다. 내 자바 응용 프로그램에서 전송 된 HTTP POST 요청을 특정 포트로 수신하고 수신 WCF 서비스를 만들 싶습니다 지금WCF 서비스를 특정 포트로 수신하고 HTTP 요청을 수신하는 방법

 URL url = new URL("http://localhost:8080/"); 
     HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); 
     httpCon.setDoOutput(true); 
     httpCon.setRequestMethod("POST"); 
     OutputStreamWriter out = new OutputStreamWriter(
     httpCon.getOutputStream()); 
     System.out.println(httpCon.getResponseCode()); 
     System.out.println(httpCon.getResponseMessage()); 
     out.close(); 

: 코드의 조각은이 같은 것입니다. 이것이 가능한가, 그리고 그것을하기위한 지침은 무엇인가? 저는 WCF를 처음 접했을뿐입니다. 몇 가지 WCF 예제를 살펴 보았습니다.하지만 더 많은 문제가 필요합니다. 그래서, 어떤 바인딩을 사용해야합니까, 행동, ...?

도움이 될 것입니다!

답변

2

WCF와 Java가 함께 실행되는 것은 가능합니다. C#으로 코드를 작성하고 .NET을 통해 구현하려는 WCF 부분이지만 Java 측은 매우 쉽습니다.

여기에는 구현할 때 선택할 수있는 샘플 코드가 많이 있지만, Java-WCF 프로젝트를 진행하는 데 사용한 세 부분으로 된 시리즈가 있습니다. CodeProject의 다른 샘플도 포함되어 있습니다.

http://geekswithblogs.net/ballhaus/archive/2009/12/28/net-wcf-and-java-ws-interoperability-part1.aspx

http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide

바인딩과 행동 물건이 프로젝트의 요구 사항에 따라 파악해야합니다. HTTP, TCP 및 기타를 포함하여 몇 가지 바인딩 맛이 있습니다. 행동 또한 다양합니다.

다음은 서로 다른 바인딩 유형을 비교하기위한 좋은 정보 소스이며, 기능 및 호환성 측면에서 각각 무엇이 제공되는지를 보여줍니다. 당신을 고려

http://msdn.microsoft.com/en-us/library/ms730879.aspx

+0

그래, 그 Java 부분에 대해 알고 있습니다. 이 링크를 통해 고맙습니다. – Sylca

1

단지 WCF로 시작, 난 당신이 배우고 WCF의 트릭을 발견 당신이 미세 조정 바인딩 초기 다음 WCF에서은 BasicHttpBinding을 사용하는 것이 좋습니다 것입니다. 전형적인은 BasicHttpBinding은

<basicHttpBinding> 
     <binding name="basicClientBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:02:00" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false"> 
      <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
      <security mode="None"></security> 
     </binding> 

</basicHttpBinding> 

는 WCF가 multple 바인딩 또는있는 wsHttpBinding을 사용하는 경우 통증이있을 수있는 축를 사용하여 Java에서 WCF 프록시를 생성처럼 보일 것이다. 그

How to create java client using AXis 1.4 for consuming WCF service using wsHttpBinding

당신은 프록시를 만들 축 또는 다른 것을 사용하지 않는 자바

에서 복잡한 행동이나있는 wsHttpBinding 사용의 복잡성에 대해 이야기 이하로 매우 까다로운 일이 될 것입니다, 그래서 당신은 것과 같은 많은 게시물을 찾을 수 있습니다 귀하의 경우에는 basicHttpBinding 및 동작없이 바닐라 WCF 서비스를 시작하는 것이 좋습니다.

또한 C# 서비스를 작성하는 동안 SecureString과 같은 호환되지 않는 .Net 유형을 사용하지 마십시오. SecureString은 암호로 권장되는 유형입니다. 하지만 Java 세계에는 해당 매핑 된 유형이 없습니다.

관련 문제