Axis-->java6(jax-ws2.0)

haha1234567

Grünschnabel
Schöner Gruß, zusammen!
Java6 ist schon aus, besondern unterstützt "WebService", deswegen möchte ich gerne mein Projekt ändern: vorher ist die Umgebung AXIS1.1 + Tomcat5.5 + JDK1.5.9, jetzt wird es viel einfacher, und zwar nur mit JAVA6.0, (da dies schon alle inklusive ist: JAX-WS, kleiner WebServer, JDK1.6.0...).
Die Frage ist, Wie kann ich die Code umschreiben? Ich kenne JAVA6.0 überhaupt nicht gut:confused: . Zum Beispiel
AXIS -----> JAVA6.0 (stattdessen)
Session ?
AXISFault ?
Java Beans ?
usw.
Könnte jemand bitte helfen, etwas über die Beiden im Vergleich (besonder in den Funktionalitäten) zu schreiben?
 
Ich habe das Beispiel "fromjava" unter "https://jax-ws.dev.java.net/" getestet, leider ist das "AddNumbersException" bei mir funktioniert nicht, es kommt immer Fehler aus:
AddNumbersExceptionBeans can not be found....
caused of: AddWebservice, "endpoint".....
wenn ich alle "throws AddNumbersException"-code in /**/ geklammert, dann funktioniert das wunderbar.
Könntest du mir noch mal sagen, warum kann dieses AddNumbersException nicht übernommen werden? Weil ich genau das Exception-Handeln in meinem Projekt brauche.
Dank noch mal
Xin
 
Zuletzt bearbeitet:
zwei Fragen über WS-Projektchen

Frage1:
Ich habe " javax.xml.ws.WebFault" gefunden, hat dies dieselbe Funktionalität wie "org.apache.axis.AxisFault" ? Wenn ja, wie benutzt man dann?

Frage2:
ich habe sowas:

-----------------------
package serv;
import javax.xml.ws.WebFault;
@WebFault
public class AddNumbersException extends Exception {
String detail;
public AddNumbersException (String message, String detail) {
super (message);
this.detail = detail;
}
public String getDetail () {
return detail;
}
}
-------------------------
package serv;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

@WebService(name="XinWevService")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class AddNumbersImpl {
@WebMethod
public int addNumbers(@WebParam(name="number1")int number1,
@WebParam(name="number2")int number2)
throws AddNumbersException
{
if (number1 < 0 || number2 < 0) {
throw new AddNumbersException("Negative number cannot be added!",
"Numbers: "+ number1 + ", " + number2 );
}
return number1 + number2;
}
}
-------------------------
package serv;
import javax.xml.ws.Endpoint;
public class AddWebservice {
public static void main( String[] args ) throws Exception {

Endpoint endpoint = Endpoint.publish( "http://localhost:8080/addnummbers",new AddNumbersImpl());
new EndpointStopper(9090, endpoint);
}
}
----------------------
package serv;
import com.sun.net.httpserver.HttpContext;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
import javax.xml.ws.Endpoint;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class EndpointStopper {

EndpointStopper(final int port, final Endpoint endpoint) throws IOException {
final HttpServer server = HttpServer.create(new InetSocketAddress(port), 5);
final ExecutorService threads = Executors.newFixedThreadPool(2);
server.setExecutor(threads);
server.start();

HttpContext context = server.createContext("/stop");
context.setHandler(new HttpHandler() {
public void handle(HttpExchange msg) throws IOException {
System.out.println("Shutting down the Endpoint");
endpoint.stop();
System.out.println("Endpoint is down");
msg.sendResponseHeaders(200, 0);
msg.close();
server.stop(1);
threads.shutdown();
}
});
}
}
----------------------
Nach der Ausführung kriegte ich immer:

Exception in thread "main" Server Runtime Error: class: serv.jaxws.AddNumbersExceptionBean could not be found......
Caused by: class: serv.jaxws.AddNumbersExceptionBean could not be found...

Ich habe schon lange Zeite versucht,disen Fehler zu beseitigen, leider keine gute Nachrichten, also Hilfe!!:confused:
 

Neue Beiträge

Zurück