Веб-сервисы советуют JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Веб-сервисы советуют Java

Сообщение Anonymous »

Я читаю книгу о Java и веб-сервисах, но застрял на первом примере книги. Посмотрите на эти коды и скажите, пожалуйста, как бы вы проводили эти классы и как и где бы вы их сохранили. Без использования какой-либо IDE!

Класс сервера времени

Код: Выделить всё

    package web.ts;  // time server

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

/**
*  The annotation @WebService signals that this is the
*  SEI (Service Endpoint Interface). @WebMethod signals
*  that each method is a service operation.
*
*  The @SOAPBinding annotation impacts the under-the-hood
*  construction of the service contract, the WSDL
*  (Web Services Definition Language) document. Style.RPC
*  simplifies the contract and makes deployment easier.
*/

@WebService
@SOAPBinding(style = Style.RPC) // more on this later
public interface TimeServer {
@WebMethod String getTimeAsString();
@WebMethod long getTimeAsElapsed();
}
TimeServerImpl
пакет web.ts;

Код: Выделить всё

       import java.util.Date;
import javax.jws.WebService;

/**
*  The @WebService property endpointInterface links the
*  SIB (this class) to the SEI (ch01.ts.TimeServer).
*  Note that the method implementations are not annotated
*  as @WebMethods.
*/
@WebService(endpointInterface = "ch01.ts.TimeServer")
public class TimeServerImpl implements TimeServer {
public String getTimeAsString() { return new Date().toString(); }
public long getTimeAsElapsed() { return new Date().getTime(); }
}
а затем последний класс
пакета TimeServerPublisher
web.ts;

Код: Выделить всё

import javax.xml.ws.Endpoint;

/**
* This application publishes the web service whose
* SIB is ch01.ts.TimeServerImpl. For now, the
* service is published at network address 127.0.0.1.,
* which is localhost, and at port number 9876, as this
* port is likely available on any desktop machine. The
* publication path is /ts, an arbitrary name.
*
* The Endpoint class has an overloaded publish method.
* In this two-argument version, the first argument is the
* publication URL as a string and the second argument is
* an instance of the service SIB, in this case
* ch01.ts.TimeServerImpl.
*
* The application runs indefinitely, awaiting service requests.
* It needs to be terminated at the command prompt with control-C
* or the equivalent.
*
* Once the applicatation is started, open a browser to the URL
*
*     http://127.0.0.1:9876/ts?wsdl
*
* to view the service contract, the WSDL document. This is an
* easy test to determine whether the service has deployed
* successfully. If the test succeeds, a client then can be
* executed against the service.
*/
public class TimeServerPublisher {
public static void main(String[ ] args) {
// 1st argument is the publication URL
// 2nd argument is an SIB instance
Endpoint.publish("http://127.0.0.1:9876/ts", new TimeServerImpl());
}
}
Я знаю, как их скомпилировать. Но что-то идет не так, когда я пытаюсь запустить издатель.

Я сохранил их в папке Web/ts/ "и здесь три класса"

Подробнее здесь: https://stackoverflow.com/questions/825 ... dvise-java

Вернуться в «JAVA»