php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.08.2009, 19:50  
Neuer Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 1
PHP-Kenntnisse:
Fortgeschritten
timoheinold befindet sich auf einem aufstrebenden Ast
Standard PHP Webservice der Objektarray übergeben bekommt

Hallo Zusammen,
ich versuche jetzt schon zwei Tage lang, einen PHP Webservice zu schreiben, dem ich ein Objektarray übergeben kann.
Ziel ist es einfach eine unbekannte Menge an Objekten mit einer Anfrage weg zu schicken und nicht für jedes Objekt eine einge Anfrage zu erzeugen

Der Client ist jetzt noch PHP soll später aber mit C# verwirklicht werden.

Der ServerCode:
PHP-Code:
function sendData($object){
    return 
"hallo";
    
//return insertRecord($objects[0]);
}
$server = new SoapServer(NULL,
 array(
'uri' => "http://localhost/soap_demo"));  
$server->addFunction('sendData'); 
$server->handle(); 

Der Client:
PHP-Code:
class GpsData{
    var 
$log_date;
    var 
$phone_id;
    var 
$day_id;
    var 
$tour_id;
    var 
$drive_id;
    var 
$craft_id;
    var 
$hanger_id;
    var 
$action_id;
    var 
$workstate_id;
    var 
$x_coordiante;
    var 
$y_coordiante;
    var 
$speed;
}
$gps1 = &new GpsData();
$gps1->log_date time();
$gps1->phone_id "018";
$gps1->day_id 1
$gps1->tour_id 4;
$gps1->drive_id 7;
$gps1->craft_id 4;
$gps1->hanger_id 4;
$gps1->action_id 5;
$gps1->workstate_id 1;
$gps1->x_coordiante 50.01451571;
$gps1->y_coordiante 11.78505541;
$gps1->speed 60;

$gps2 = &new GpsData();
$gps2->log_date time();
$gps2->phone_id "017";
$gps2->day_id 1
$gps2->tour_id 4;
$gps2->drive_id 7;
$gps2->craft_id 4;
$gps2->hanger_id 4;
$gps2->action_id 5;
$gps2->workstate_id 1;
$gps2->x_coordiante 50.01451571;
$gps2->y_coordiante 11.78505541;
$gps2->speed 60;

$gpsarray = array($gps1,$gps2);

//$result = $client->sendData($gpsarray);
$result $client->__call("sendData",$gpsarray);

echo 
$result
Die WSDL
HTML-Code:
<?xml version ='1.0' encoding ='UTF-8' ?>
<definitions name='TestServer'
  xmlns:tns=' http://localhost/soap_demo/server.wsdl '
  xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
  xmlns:xsd='http://www.w3.org/2001/XMLSchema'
  xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
  xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
  xmlns='http://schemas.xmlsoap.org/wsdl/'
  xmlns:icns="http://www.test.namespace">

  <wsdl:types>
    <xsd:schema elementFormDefault="unqualified" targetNamespace="http://www.test.namespace">
      <xsd:complexType name="gpsData">
        <xsd:sequence>
          <xsd:element name="log_date" type="xsd:dateTime"/>
          <xsd:element name="phone_id" type="xsd:string"/>
          <xsd:element name="day_id" type="xsd:int"/>
          <xsd:element name="tour_id" type="xsd:int"/>
          <xsd:element name="drive_id" type="xsd:int"/>
          <xsd:element name="craft_id" type="xsd:int"/>
          <xsd:element name="hanger_id" type="xsd:int"/>
          <xsd:element name="action_id" type="xsd:int"/>
          <xsd:element name="workstate_id" type="xsd:int"/>
          <xsd:element name="x_coordiante" type="xsd:float"/>
          <xsd:element name="y_coordiante" type="xsd:float"/>
          <xsd:element name="speed" type="xsd:int"/>
        </xsd:sequence>
      </xsd:complexType>
      
    <xsd:complexType name="ArrayOfGpsData">
      <xsd:sequence>
        <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="icns:gpsData"/>
      </xsd:sequence>
    </xsd:complexType>
      
    <xsd:complexType name="gpsDatas">
      <xsd:sequence>
        <xsd:element name="gpsDatas" type="icns:ArrayOfGpsData"/>
      </xsd:sequence>
    </xsd:complexType>
    </xsd:schema>
  </wsdl:types>


  <message name='connectRequest'>
    <part name='a' type='xsd:string'/>
    <part name='b' type='xsd:string'/>
  </message>
  <message name='connectResponse'>
    <part name='Result' type='xsd:string'/>
  </message>

  <message name='sendDataRequest'>
    <part name='objects' type='icns:gpsDatas'/>
  </message>
  <message name='sendDataResponse'>
    <part name='Result' type='xsd:string'/>
  </message>

  <portType name='TestServerPortType'>
    <operation name='connect'>
      <input message='tns:connectRequest'/>
      <output message='tns:connectResponse'/>
    </operation>
    <operation name='sendData'>
      <input message='tns:sendDataRequest'/>
      <output message='tns:sendDataResponse'/>
    </operation>
  </portType>

  <binding name='TestServerBinding' type='tns:TestServerPortType'>
    <soap:binding style='rpc'
      transport='http://schemas.xmlsoap.org/soap/http'/>
    <operation name='connect'>
      <soap:operation soapAction='urn:xmethodsTestServer#connect'/>
      <input>
        <soap:body use='encoded' namespace='urn:xmethodsTestServer'
          encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </input>
      <output>
        <soap:body use='encoded' namespace='urn:xmethodsTestServer'
          encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </output>
    </operation>
    <operation name='sendData'>
      <soap:operation soapAction='urn:xmethodsTestServer#sendData'/>
      <input>
        <soap:body use='encoded' namespace='urn:xmethodsTestServer'
          encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </input>
      <output>
        <soap:body use='encoded' namespace='urn:xmethodsTestServer'
          encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>
      </output>
    </operation>
  </binding>

  <service name='TestServerService'>
    <port name='TestServerPort' binding='TestServerBinding'>
      <soap:address location='http://localhost/soap_demo/server.php'/>
    </port>
  </service>
</definitions> 
und zu guter letzt die Fehlermeldung:

Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object hasn't 'gpsDatas' property in C:\Arbeit\xampplite\htdocs\soap_demo\client.php:85 Stack trace: #0 C:\Arbeit\xampplite\htdocs\soap_demo\client.php(85 ): SoapClient->__call('sendData', Array) #1 {main} thrown in C:\Arbeit\xampplite\htdocs\soap_demo\client.php on line 85

ich weiß jetzt echt nicht mehr weiter, hab grade 3 Stunden gegoogelt aber keine funktionierende Lösung gefunden. Das muss doch gehen

Ich hoffe jemand von euch hat einen Tipp für mich
timoheinold ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.08.2009, 22:09  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.069
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Zitat:
object hasn't 'gpsDatas' property
Zitat:
Code:
class GpsData{
    var $log_date;
    var $phone_id;
    var $day_id;
    var $tour_id;
    var $drive_id;
    var $craft_id;
    var $hanger_id;
    var $action_id;
    var $workstate_id;
    var $x_coordiante;
    var $y_coordiante;
    var $speed;
}
Zitat:
Code:
<xsd:complexType name="gpsDatas">
      <xsd:sequence>
        <xsd:element name="gpsDatas" type="icns:ArrayOfGpsData"/>
      </xsd:sequence>
    </xsd:complexType>
Ich kenne mich jetzt mit SOAP und noch weniger WSDL aus, aber nach deinem XML-Schema forderst du doch explizit diese Eigenschaft, lieferst sie im Objekt aber nicht, oder?
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Operatoren einer Funktion übergeben exminsta PHP-Fortgeschrittene 6 26.08.2009 09:52
[Erledigt] inputwert an andere frames übergeben. lou JavaScript, Ajax und mehr 0 25.06.2009 11:11
[Erledigt] Objekt an Konstruktor übergeben hawkeye78 PHP Tipps 2009 7 28.02.2009 19:01
Datei an nusoap-Funktion übergeben fabsen2102 PHP-Fortgeschrittene 3 29.08.2008 18:24
nusoap - webservice jogisarge PHP Tipps 2008 4 13.08.2008 10:26
Variable übergeben mit Register Globals off trunky PHP Tipps 2008 32 08.07.2008 20:30
[Erledigt] Formatierung im Textfeld per Formular mit übergeben PlanLos23 PHP Tipps 2008 2 25.06.2008 09:05
WebService über NUSOAP gibt NULL (leeres result) zurück andre_shd PHP-Fortgeschrittene 4 16.05.2006 14:12
[Erledigt] Asynchroner Webservice mit NUSOAP PHP-Fortgeschrittene 1 22.01.2006 13:18
Objekt übergeben Fatal Error PHP Tipps 2007 5 28.12.2005 14:43
Wie kann man alles Variablen übergeben ?? PHP Tipps 2005-2 14 11.09.2005 22:19
[Erledigt] XML String an Webservice übergeben (SOAP) PHP-Fortgeschrittene 3 26.08.2005 12:40
Variablen an den Interpreter übergeben PHP Tipps 2005-2 24 04.07.2005 21:43
Wert übergeben... Chrescht PHP Tipps 2005-2 8 01.07.2005 11:47
[Erledigt] Fehlermeldung unterdrücken wenn keine variable übergeben... PHP Tipps 2005 6 20.03.2005 13:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php soap array übergeben, soap-error: encoding: object hasn\'t, php webservice array, uncaught soapfault exception: [client] soap-error: encoding: object hasn\'t \'conn\' property, wsdl array übergeben, soap array übergeben, http://www.php.de/php-fortgeschrittene/58461-php-webservice-der-objektarray-uebergeben-bekommt.html, c# soap array, php soap object übergeben, fatal error: soap-error: encoding: object hasn\'t, c php webservice, \soap-error: encoding: object hasn\'t\, php soap objekt übergeben, soap php complextype, webservice php array, php webservice return array, php webservice object, php soap objekte übertragen, php webservice aufrufen, soap-error: encoding: object hasn\'t property

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum