Незавершенный сервисный сервер SOAP для Java

Я могу рекомендовать набор загадки Simon Tatham . Это - серия головоломок (минный тральщик, судоку, пятнадцать) доступный для Windows, OS X и Linux (и как апплеты Java). Архитектура довольно проста: существует интерфейс фронтенда с тремя реализациями (один на платформу), внутренний интерфейс с одной реализацией на игру (я дал три примера), и середина конца, который заставляет их говорить вместе, сделайте сериализацию и другой аккуратный материал.

В основном, это - хорошее ООП. Записанный в C. Легко способствовать (я реализовал игры Заполнения и Диапазона), так как это хорошо документируется, и легко читать.

12
задан tster 24 November 2009 в 20:31
поделиться

3 ответа

Похоже, jdk 6.0 уже поставляется с реализацией jax-ws и небольшим сервером, который вы можете встроить. Я не разобрался во всех деталях, но вот начало:

mkdir -p helloservice/endpoint/

helloservice / endpoint / Hello.java:

package helloservice.endpoint;

import javax.jws.WebService;

@WebService()
public class Hello {
  private String message = new String("Hello, ");

  public void Hello() {}

  public String sayHello(String name) {
    return message + name + ".";
  }
}

helloservice / endpoint / Server.java:

package helloservice.endpoint;
import javax.xml.ws.Endpoint;

public class Server {

    protected Server() throws Exception {
        System.out.println("Starting Server");
        Object implementor = new Hello();
        String address = "http://localhost:9000/SoapContext/SoapPort";
        Endpoint.publish(address, implementor);
    }

    public static void main(String args[]) throws Exception {
        new Server();
        System.out.println("Server ready...");

        Thread.sleep(5 * 60 * 1000);
        System.out.println("Server exiting");
        System.exit(0);
    }
}

Создайте вещь:

mkdir build
javac -d build helloservice/endpoint/*java
$JAVA_HOME/wsgen -d build -s build -classpath .  helloservice.endpoint.Hello

Запустите вещь:

java -cp  build helloservice.endpoint.Server

Somethings работает на http: // localhost: 9000 / SoapContext / SoapPort сейчас. Вы можете получить wsdl на http: // localhost: 9000 / SoapContext / SoapPort? WSDL

Еще не дошли до создания клиента ..

23
ответ дан 2 December 2019 в 06:08
поделиться

Most(/all?) Java SOAP server implementations provide a Servlet (the javax.xml.ws.Endpoint approach in another answer does look a bit simpler though...). Some SOAP implementations you could consider are: Apache CXF: cxf.apache.org, Apache Axis2: ws.apache.org/axis2/ or Spring Web Servies: static.springsource.org/spring-ws/site/ .

The most popular embedded Java web server seems to be Jetty, you can configure it either programatically (using plain Java or Spring beans) or using a custom XML format.

1
ответ дан 2 December 2019 в 06:08
поделиться

В дополнение к отличному ответу nos я нашел класс в оси Apache под названием SimpleHTTPServer , который, я уверен, делает то же самое, но требует только Java 1.5 для тех, кто вы застряли с 1.5

Я не собираюсь исследовать его, так как собираюсь использовать другое решение, поэтому я на самом деле не проверял, что оно делает то, что я думаю, но я почти уверен, что это так.

1
ответ дан 2 December 2019 в 06:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: