Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

1

23.07.2010, 19:47

#Java WsImport - non existent directory-

Hallo,

gehört zwar nicht gerade zum Fachbereich dieses Forums aber ein Versuch ist es wert. Also ich versuche immer noch vergebens einen online Highscore in Java (!, ich weiss das auf Codeschleuder ein Tutorial für C++ ist) zu erstellen. Mir wurde dann geraten das über einen Webservice zu lösen.
Also habe ich einen erstellt.

Beim erstellen der Hilfsklassen für Java gibt es allerdings ein (hoffentlich) letztes Problem.

Fehlermeldung:

Zitat

server.php non existent directory


Sagt mir jetzt nichts. Gut vielleicht ist die location Angabe beim Service Tag falsch aber gerade da hab ich schon so viel versucht.

WSDL - Datei:


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?xml version ="1.0" encoding ="UTF-8" ?>
 
<definitions name="Math" 
targetNamespace="http://www.errschaffer.square7.ch/Math.wsdl"
xmlns:tns="http://www.errschaffer.square7.ch/Math.wsdl"
xmlns:xsd1="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/"> 

<message name='addRequest'>
  <part name="a" type="xsd1:int"/>
  <part name="b" type="xsd1:int"/>
</message>
<message name="addResponse">
  <part name="Result" type="xsd1:int"/>
</message> 

<portType name="addPortType">
  <operation name="add">
    <input message="tns:addRequest"/>
    <output message="tns:addResponse"/>
  </operation>
</portType> 

<binding name="addBinding" type="tns:addPortType">
  <soap:binding style="rpc"
    transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="add">
    <soap:operation soapAction="urn:Math#add"/>
    <input>
      <soap:body namespace="urn:Math"/>
    </input>
    <output>
      <soap:body use="encoded" namespace="urn:Math"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </output>
  </operation>
</binding> 

<service name="addService">
  <port name="addPort" binding="tns:addBinding">
   <soap:address location="http://www.errschaffer.square7.ch"/>
  </port>
</service>
</definitions>


server.php

Testweise nur eine einfache Addition

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

require_once('lib/nusoap.php');

$server = new soap_server;
 
function add($a, $b) { 
  return $a + $b; 
} 


$server->register ('add');
?>



In Java Foren bin ich natürlich auch unterwegs aber je ungenauer die Fehlermeldung desto weniger Melden sich auch natürlich.

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

2

25.07.2010, 17:43

Ein bisl mehr infos zu dem was du eigentlich machst wenn der Fehler erzeugt wird wäre hilfreich.
Ansonsten: Ich kenne Nusoap nicht aber nach den Tutorials die ich gesehen habe musst du dem SOAP server auch sagen, dass er den request verarbeiten soll ;)

$server->service($HTTP_RAW_POST_DATA);

PS: Für ne simple Highscore ist nen Webservice ein bisl overkill würde ich sagen. Das geht simpler und einfacher per Hand.

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

3

25.07.2010, 19:05

Naja ich gebe halt den normalen Befehlssatz in wsimport ein.

Zitat

wsimport -d server.php -keep -p uploadyourhighscore Math.wsdl


Also server.php wird jetzt beim Aufruf so im Browser korrekt angezeigt. Die Fehlermeldung aber bleibt.

Man ist das nervig. Ich versuche jetzt schon ewig einen Online Highscore zu erstellen. Ich hab vorhin noch was mit HTTP Request und POST übergabe gelesen. Ich werde das nachher mal versuchen.

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

4

25.07.2010, 21:05

Halleluja ! Ich habe es geschafft. Mit Java und HTTP Request GET. Also auf jedenfall hab ich einen einfachen String in meine Datenbank bekommen. Der rest sollte jetzt ein Kinderspiel sein. Kaum zu glauben das ich 2 Wochen dafür gebraucht habe. :thumbdown: Schlimm.

Aber ohne das wäre mein aktuelles Projekt wieder nur eins geworden was man mal 5min anspielt um einen Bug zu melden und wieder löscht. :thumbsup:

Werbeanzeige