SOAP 서비스와 REST 서비스가 응용 프로그램 서버 외부에서 Jersey (Grizzly)를 사용하여 동일한 포트를 공유 할 수 있도록 구성하는 방법을 아는 사람이 있습니까?같은 포트에서 SOAP 서비스와 REST 서비스를 호스팅하는 방법은 무엇입니까?
- 내 비누 서비스는 가이 서비스는 같은
- 내 나머지 서비스는 www.someurl.com:port/crm
에 있습니다을 공유 www.someurl.com:port/soap/crm에있다 동일한 기본 URL이 아니기 때문에 해당 포트에서 나란히 실행할 수 있어야합니다. 그러나 포트 바인드 오류가 있습니다.
이 모든 것은 맞춤 서비스 응용 프로그램에 있으며 web.xml 등은 없습니다.
REST 서비스는 Jersey를 사용하고 Soap 서비스는 엔드 포인트에 게시 된 클래스 'ReceptionService'입니다.
URI soapUri = URI.create("192.168.0.0:1234\soap\Crm")
URI restUri = URI.create("192.168.0.0:1234\crm")
// START SOAP SERVICE
Object reception = getObjectResource(ReceptionService.class);
Endpoint e = Endpoint.publish(soapUri, reception);
// START REST SERVICE
ResourceConfig rc = new ResourceConfig().packages("company.rest");
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(restUri, rc);
나는이 시도
는 그리즐리는 'java.net.BindException을 : 주소를 이미 사용 : 바인드'뱉어내 비누 서비스 수신이 같은 설정입니다 :
@WebService(targetNamespace = "company.crm")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)
public class Reception implements ReceptionService {
... methods
}
내 나머지 서비스 클래스는
@Path("hello/{username}")
public class Hello { ... }
내가 이것을에서 초보자의 비트입니다 ... 같은 평소와 같이 주석된다 어떤 포인터라도 감사 할 것입니다. 그리고 제발, 내가 응용 프로그램 서버를 실행하라는 제안을하지 마십시오. 여기서 문제가되지 않습니다. 문제는 다른 웹 서비스 프레임 워크로 이동하지 않고 포트 바인딩 문제를 해결하려면 어떻게해야합니까?
주 RE 현상금 :. 나도 같은 엔드 포인트에 함께 REST와 (JAX-WS 주석) 자바 SOAP 서비스에 대한 저지를 사용하는 방법을 보여줍니다 본 ENOUGH
"현상금 수상자를 반복 할 수없는 대답 것이다 Rest 및 Soap 어노테이션 클래스를 변경하지 않아도되지만 HTTP 서버 코드 변경 또는 작동하도록 구성 변경이 허용됩니다. Jetty 또는 다른 애플리케이션 서버로의 전환은 허용되지 않습니다. 솔루션은 100 % 임베디드되어 있어야하며 Java SE 및 Java 웹 서비스 라이브러리. "
조금 더 많은 정보가 도움이 될 것입니다. 어떤 유형의 웹 서버/응용 프로그램 서버를 사용합니까? 'web.xml'은 어떻게 생겼습니까? –
해결책을 찾았습니까? 나는 같은 문제에 직면하고있다. –
아니. 나는 여전히 그들에게 별도의 항구를 지키고있다. 나는 많은 코드를 수정해야하고 시간이나 인내심이 없다. 희망은 미래에 구성 가능합니다. –