Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Witam,wygenerowałem sobie szablon usługi sieciowej w środowisku NetBeans. Utworzyłem metodę, w której chcę żeby był zwracany obiekt pewnej mojej klasy np:
class Test{
private int A;
private int B;
}
Nie wiem jednak jak to zrobić...
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
WebService'y to temat dość spory, więc dobrze będzie przeczytać jakiegoś tutoriala żeby mieć bardziej ogólne pojęcie o całości.Jeśli jednak interesuje Cię tylko jak to zrobić to zerknij tutaj.
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Link który podałeś odsyła do strony gdzie podany jest przykład metody która zwraca string...
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Hmm....Link jest bardzo prostym przykładem, który pokazuje od czego zacząć. Serdecznie polecam poeksperymentowanie...
Niemniej, żeby udzielić Ci odpowiedzi:
Jeśli ta metoda będzie zwracała typ Test, to definicja tegoż typu zostanie automatycznie umieszczona w wygenerowanym dokumencie WSDL.
Wtedy generując stub'y klienckie z dokumentu WSDL, zostanie również dla klienta wygenerowany plik źródłowy z kodem takiej klasy.
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Kod wygląda tak:
@WebService
public class MyWebService {
class Test{
private int A;
private int B;
public void setA(Int value){
this.A = value;
}
public Int getA(){
return this.B;
}
/* właściwość B posiada takie same metody set i get
}
@WebMethod(operationName = "metoda")
public Test metoda(@WebParam(name = "surname")) throws IOException {
Test obiekt = new Test();
obiekt.setA(3);
obiekt.setB(4);
return obiekt;
}
Takie coś mam, testuje usługę i są błędy.
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Ten kod się nie skompiluje.Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
jeśli możesz to podaj mi jakiś przykład usługi sieciowej gdzie zwracany jest obiekt, lub podsuń jakieś pomysły...
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Łukasz,1. Pomysł Ci podałem już w 1 poście: "WebService'y to temat dość spory, więc dobrze będzie przeczytać jakiegoś tutoriala żeby mieć bardziej ogólne pojęcie o całości."
2. Dałem Ci przykład zwracający obiekt -> String to jest obiekt ;)
3. Fora GoldenLine nie są po to, aby ktoś rozwiązywał problemy w całości za Ciebie...
4. Masz tutaj pełen przykład:
SERWER:
package webservicetutorial;
public class Test {
private int a;
private int b;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public int getB() {
return b;
}
public void setB(int b) {
this.b = b;
}
}
package webservicetutorial;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface SampleWebService {
@WebMethod
Test getTestObject(@WebParam(name="a")int a, @WebParam(name="b")int b);
}
package webservicetutorial;
import javax.jws.WebService;
@WebService(endpointInterface="webservicetutorial.SampleWebService")
public class SampleWebServiceImpl implements SampleWebService {
public Test getTestObject(int a, int b) {
Test t = new Test();
t.setA(a);
t.setB(b);
return t;
}
}
package webservicetutorial;
import javax.xml.ws.Endpoint;
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Endpoint.publish("http://localhost:8080/WS/SampleWebService",new SampleWebServiceImpl());
}
}
KLIENT:
1. Uruchom serwer. (ten powyzej).
2. Wygeneruj sobie STUB'y klienckie (z command line): wsimport -s . http://localhost:8080/WS/SampleWebService?wsdl
3. Usun wygenerowane pliki *.class
4. Posprzataj w pakietach (wszystkie wygenerowane klasy beda mialy deklaracje pakietu jako package webservicetutorial;)
package webservicetutorialclient;
import webservicetutorial.SampleWebService;
import webservicetutorial.SampleWebServiceImplService;
import webservicetutorial.Test;
/**
*
* @author Rafal Glowinski
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
SampleWebServiceImplService service = new SampleWebServiceImplService();
SampleWebService ws = service.getSampleWebServiceImplPort();
Test t = ws.getTestObject(10, 100);
System.out.println("------->> Call Started");
System.out.println(t);
System.out.println("------->> Call Ended");
}
}
5. Uruchom klienta.
Łukasz
Grabski
Senior Java
Developer
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Hehe, dobry, juz sobie wpisal do profilu "WebServices" ;)
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Konto usunięte... haha.... czasem to aż brak słów. Trudno, zmarnowałem 15 min :/
Mariusz
Zduńczyk
młodszy programista
Java :)
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
czesc, nie takie zmarnowane 15 min, mi przydalo sie, dzieki :)
Rafał
Głowiński
Technical Team
Leader / Bravura
Solutions
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Dobre chociaż to :)
Jakub
Wojt
Projektant systemów
IT, Team Leader,
Programista .NET C#
Temat: [Web Service][NetBeans][Java] Zwracanie obiektu
Konto usunięte... haha.... czasem to aż brak słów. Trudno, zmarnowałem 15 min :/
Spokojnie, ktoś inny pewnie zmarnuje dwie albo trzy pensje (brutto) :)
