Hinweis zu der 3 Programmieraufgabe

Moderator: TK 1

RomanMertyn
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 7. Jun 2006 18:47
Wohnort: Darmstadt
Kontaktdaten:

Re: Hinweis zu der 3 Programmieraufgabe

Beitrag von RomanMertyn » 1. Dez 2009 19:55

Webservice wird lokal auf einer Linux-VirtualBox Instanz getestet. Sollte jemand eine Umgebung mit Tomcat benötigen, erwarte ich eine Anleitung wie man Webservice mit Tomcat zu Verfügung stellt. GlassFish ist theoretisch auch möglich, stellt euch dann aber darauf ein, diesen selbst an meiner Maschine zu installieren und zu konfigurieren.
There are two ways of constructing a software design: One way is to make it so simple there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
C.A.R. Hoare

Wambolo
Computerversteher
Computerversteher
Beiträge: 381
Registriert: 18. Okt 2007 11:36

Re: Hinweis zu der 3 Programmieraufgabe

Beitrag von Wambolo » 2. Dez 2009 19:35

Sorry für die Frage: Habe ich das jetzt richtig verstanden, dass der Client wirklich nur mit unserem selbst erstellen Webservice laufen muss. D.h. er muss nicht
sowohl mit unserem als auch mit dem online-Webservice arbeiten können.

Die einzige Bedingung ist, dass er eine Funktion zur Umrechnung der Einheiten besitzt und das war es? Bitte bestätigt mir nochmal kurz ob ich falsch oder richtig liege.

Benutzeravatar
Fl4sh
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 138
Registriert: 1. Okt 2007 21:48

Re: Hinweis zu der 3 Programmieraufgabe

Beitrag von Fl4sh » 2. Dez 2009 19:44

Mir bitte auch!
Ich verzweifel gerade eine "Duale Korrespondenz" hinzukriegen, da beim publishen des Services immer ein "Service" angehängt wird.
Die Methode heißt dann z.B. nicht mehr ConvertTemperature sondern ConvertTemperatureService. UNd das zieht einiges nach sich... o_O

bios
Windoof-User
Windoof-User
Beiträge: 37
Registriert: 18. Okt 2006 01:18

Re: Hinweis zu der 3 Programmieraufgabe

Beitrag von bios » 3. Dez 2009 14:53

also so wurde es uns am montag in der übung gesagt.
es soll ersichtlich sein,
dass ihr auch gegen eine "blackbox" den client schreiben könntet, also das ihr nicht den Quelltext des Dienst dafür braucht :)

Benutzeravatar
Fl4sh
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 138
Registriert: 1. Okt 2007 21:48

Re: Hinweis zu der 3 Programmieraufgabe

Beitrag von Fl4sh » 3. Dez 2009 18:50

OK, dann frag ich mal jetzt explizit...
Mein Problem liegt darin, dass nach dem Publishen die Methoden anders heißen, also z.B. ConvertTemperatureService anstatt ConvertTemperature.

Code: Alles auswählen

temperature = new client.referenceService.ConvertTemperature(url, new QName("http://www.webserviceX.NET/", "ConvertTemperature")).getConvertTemperatureSoap();
muss dann z.B. so heißen:

Code: Alles auswählen

temperature = new client.ownService.ConvertTemperatureService(url, new QName("http://www.webserviceX.NET/", "ConvertTemperatureService")).getConvertTemperatureSoapPort();
Ich habe jetzt die getConvertTemperatureSoap()-Methode umgeschrieben, so dass sie den richtigen Port (ConvertTemperatureSoap bzw ConvertTemperatureSoapPort) wählt und zurückgibt.

Jetzt bekomme ich aber beim Aufruf von "convertTemp" Exceptions um die Ohren geworfen. Ist ja auch verständlich, denn da steht sowas drin:

Code: Alles auswählen

    @WebMethod(operationName = "ConvertTemp", action = "http://www.webserviceX.NET/ConvertTemp")
    @WebResult(name = "ConvertTempResult", targetNamespace = "http://www.webserviceX.NET/")
    @RequestWrapper(localName = "ConvertTemp", targetNamespace = "http://www.webserviceX.NET/", className = "client.referenceService.ConvertTemp")
    @ResponseWrapper(localName = "ConvertTempResponse", targetNamespace = "http://www.webserviceX.NET/", className = "client.referenceService.ConvertTempResponse")
Was natürlich auf den www.webserviceX.NET-Service zugeschnitten ist.

Ich bin langsam echt am Verzweifeln. Mein erster Ansatz war einfach, je nach URL unterschiedliche Methoden aus unterschiedlichen Packages zu laden. Quasi ein Package für die Kommunikation mit dem eigenen Service und eines für den webserviceX.NET-Service...

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Re: Hinweis zu der 3 Programmieraufgabe

Beitrag von MisterD123 » 3. Dez 2009 20:44

wsimport? Oo also bei uns hat das mit endpoint.publish und dann einfach wsimport alles wunderbar gepasst, keine umbenannten methoden oder sonstwas..

RomanMertyn
Mausschubser
Mausschubser
Beiträge: 71
Registriert: 7. Jun 2006 18:47
Wohnort: Darmstadt
Kontaktdaten:

Re: Hinweis zu der 3 Programmieraufgabe

Beitrag von RomanMertyn » 3. Dez 2009 22:43

Nicht zweifeln, sondern den ersten Post von diesem Thread aufmerksam durchlesen.
There are two ways of constructing a software design: One way is to make it so simple there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.
C.A.R. Hoare

Antworten

Zurück zu „TK1: Rechnernetze, Verteilte Systeme und Algorithmen“