2009-10-26 18 views
8

Ai đó có thể trợ giúp việc này?Xuất bản điểm cuối JAX-WS với Jetty được nhúng 7

Tôi muốn sử dụng Cầu nối được nhúng 7 làm Điểm cuối. Đây là những gì tôi đã cố gắng:

public class MiniTestJetty { 

@WebService(targetNamespace = "http") 
public static class Calculator { 

    @Resource 
    WebServiceContext context; 

    public int add(int a, int b) { 
     return a + b; 
    } 
} 


public static void main(String[] args) throws Exception { 
    int port = 8080; 
    Server server = new Server(port); 

    Calculator calculator = new Calculator(); 
    Endpoint.publish("http://localhost:" + port + "/calc", calculator); 

    server.start(); 
    server.join(); 
} 

}

Nhưng tôi không thể xem liệu điều này thực sự sử dụng Jetty thay vì mặt trời mặc định HttpServer.

Một blog của đề cập

System.setProperty("com.sun.net.httpserver.HttpServerProvider", 
     "org.mortbay.jetty.j2se6.JettyHttpServerProvider"); 

Nhưng có không có vẻ là như vậy trong HttpServerProvider Jetty 7.

Nhờ sự giúp đỡ, Axel.

+0

có vẻ như có mã trong phần đóng góp của Cầu tàu 6, trong đó có điều gì đó tương tự nhưng không có gì trong Jetty 7 – axelrose

Trả lời

4

Tất cả những gì là cần thiết có vẻ là

System.setProperty("com.sun.net.httpserver.HttpServerProvider", "org.mortbay.jetty.j2se6.JettyHttpServerProvider"); 

Mã contrib hiện từ cầu cảng-contrib/org/mortgay/cầu cảng/j2se6 chưa sẵn sàng cho Jetty 7. Đó là tất cả.

+0

Làm thế nào bạn tìm ra điều đó? –

3

Bạn có thể chỉ cần mở URL của WSDL trong Firefox và kiểm tra tiêu đề phản hồi bằng Firebug. Bạn sẽ nhận được một cái gì đó như:

HTTP/1.1 200 OK 
Content-Type: text/xml;charset=utf-8 
Transfer-Encoding: chunked 
Server: Jetty(7.1.2.v20100523) 
Các vấn đề liên quan