2014-03-07 1 views
2

나는 Java Application을가집니다. 나는 Netbeans 7.4 IDE를 사용합니다. 다른 클라이언트가 웹 서비스를 사용하여이 응용 프로그램에서 제공하는 데이터를 가져올 수 있도록이 응용 프로그램 내에 web service methods을 호스트하고 싶습니다.
웹 서버에서이 웹 servis를 호스팅하고 싶지 않습니다. 응용 프로그램 자체 내에서만이 호스트를 호스팅하고 싶습니다. like WCF selfhosting in .NET.
저는 C# 응용 프로그램을 개발해 왔으며 WCF에 대한 knowladge를 가지고 있지만 저는 자바 세계의 시작에 불과합니다. .NET에서 발생하는 것처럼 웹 서비스 끝점을 응용 프로그램 내에서 호스팅 할 수 있습니까?자바 응용 프로그램에서자가 호스팅 웹 서비스를 수행하는 방법

답변

0

Java 6부터는 웹 서버에 jre (com.sun.net.httpserver.HttpServer)가 제공됩니다. 일부 프레임 워크에서는이를 활용할 수 있습니다 (예 : restlet).

0

글쎄 그것은 "자기 호스팅"이 무슨 뜻인지에 달려 있습니다. 가장 쉬운 방법은 응용 프로그램에 내장 된 Jetty 서버를 사용하는 것입니다. 이것은 일반적으로 각 웹 서비스에 대해 하나의 포트를 묶어두기 때문에 눈살을 찌푸리게합니다. 한 줌 이상을 사용하게되면 간단하게 모든 웹 서비스를 호스팅하는 것과는 대조적으로 관리가 어려워집니다. 컨테이너. 그러나 단지 작은 개인 프로젝트를위한 것이라면 다른 어느 누구도 사용하지 않아야합니다. 임베디드 부두 또는 톰캣으로 실행하면 정상적으로 작동합니다. 사용하기 어려운 클라우드 서비스가있을 것이라는 점을 염두에 두십시오. 그러나 이것이 문제가되지 않는다면 다시 시도하십시오. 내 요구에 accourding

2

답은 이미 here

난 그냥 새로운 자바 클래스를 추가하고 클래스 웹 서비스 만들기 위해 @WebService 및 @WebMethod 같은 XML을 annoitions를 추가 할 필요가 있음을 볼 수있다. 그럼 난이 서비스를 게시하려면 다음 라인을 추가해야합니다 :

public static void main(String[] args) { 
     String address = "http://127.0.0.1:8023/_WebServiceDemo"; 
     Endpoint.publish(address, new MyWebService()); 
     System.out.println("Listening: " + address); 

    } 
관련 문제