Stwórz profil

Musisz wpisać swoje imię
Musisz wpisać swoje nazwisko
Musisz wpisać poprawny e-mail
Musisz wpisać hasło (min. 8 znaków)
Musisz zaakceptować regulamin

konto usunięte

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ć...
21.01.2011, 10:17

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.
21.01.2011, 10:58

konto usunięte

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...
21.01.2011, 11:11

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.
21.01.2011, 11:16

konto usunięte

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.
21.01.2011, 11:26

Rafał Głowiński Technical Team
Leader / Bravura
Solutions

Temat: [Web Service][NetBeans][Java] Zwracanie obiektu

Ten kod się nie skompiluje.
21.01.2011, 11:29

konto usunięte

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...
21.01.2011, 11:45

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.
21.01.2011, 11:54

Łukasz Grabski Senior Java
Developer

Temat: [Web Service][NetBeans][Java] Zwracanie obiektu

Hehe, dobry, juz sobie wpisal do profilu "WebServices" ;)
21.01.2011, 12:05

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 :/
21.01.2011, 12:33

Mariusz Zduńczyk młodszy programista
Java :)

Temat: [Web Service][NetBeans][Java] Zwracanie obiektu

czesc, nie takie zmarnowane 15 min, mi przydalo sie, dzieki :)
15.12.2011, 18:37

Rafał Głowiński Technical Team
Leader / Bravura
Solutions

Temat: [Web Service][NetBeans][Java] Zwracanie obiektu

Dobre chociaż to :)
15.12.2011, 19:44

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) :)
20.12.2011, 22:11



Wyślij zaproszenie do