WebService Klassen übergeben

Dolch

Mitglied
hmm ich habe irgendwie ein Problemchen,

ich habe einen Webservice gebaut der die Klasse Person (also Objekt person) von einem Client bekommt, dieses Objekt dann verändert und dann wieder zurück gibt.

Soweit ja kein Problem ... naja

Nur wenn ich mit wsimport die Serviceklassen für den Client generieren dann hat er nur eine Klasser Person die aber keine Attribute hat - sprich ich kann nicht ein Objekt mit Attributen erzeugen ...

Wie kann oder muss ich machen das ich selbst geschriebene Objekte übergeben kann ?

WebService
Code:
@WebService(name = "TestrulesServices")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class RuleWebService {
	@WebMethod
	public Person executeRules(@WebParam(name="person")Person person){
		//start RuleEngine and execute rules
		person = RuleService.excecuteRules(person);
		
		return person;
	}
}

Client
Code:
		try {
			RuleWebServiceService service = new RuleWebServiceService(
					new URL("http://localhost:8080/ruleservice?wsdl"), 
					new QName("http://services/", "RuleWebServiceService"));
			TestrulesServices rules = service.getTestrulesServicesPort();
			
			/*ClientPerson clientPerson = new ClientPerson("männlich", 18, "Bernd");
			
			Person person = (Person)clientPerson;
			person = rules.executeRules(person);
			*/
			//System.out.println(person.getName());

würde mich über Hilfe freuen denn mit google bin ich nicht weitergekommen ...
 
wsimport bezieht sich auf die wsdl Datei und dort definierte Objekte für Request und Response. Ist die WSDL in Ordnung? Könntest du sie posten?
Setzt du noch andere Frameworks ausser jaxws ein? Welchen Server verwendest du?
 
glaube habe den Fehler gefunden.

Das Problem lag daran das ich meine Klasse Person mit private Eigenschaft bestückt hatte und nur über Getter und Setter die Eigenschaften verändern konnten.

Dadurch wurde bei wsimport nicht die Eigenschaften konvertiert und damit auch keine Methoden, naja jetzt die Eigenschaften auf Public und scheint es zu gehen :) .

Jetzt noch herausfinden wie ich das mit Respone und Request auf der anderen Seite mach :-D , aber nicht mehr hier das Thema.
 

Neue Beiträge

Zurück