WSDL Verständnisfrage

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • WSDL Verständnisfrage

    Hallo zusammen,

    So, mein erster Beitrag hier :) Mal sehen ob das hier mein neues WebHome wird.

    Folgend ein Ausschnitt aus einer WSDL:

    Quellcode

    1. <s:element name="Send">
    2. <s:complexType>
    3. <s:sequence>
    4. <s:element minOccurs="0" maxOccurs="1" name="faxData" type="tns:Outbound"/>
    5. <s:element minOccurs="0" maxOccurs="1" name="requestSettings" type="tns:RequestSettings"/>
    6. </s:sequence>
    7. </s:complexType>
    8. </s:element>
    9. <s:complexType name="Outbound">
    10. <s:sequence>
    11. <s:element minOccurs="0" maxOccurs="1" name="CustomerID" type="s:string"/>
    12. <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string"/>
    13. <s:element minOccurs="0" maxOccurs="1" name="ConfirmationURL" type="s:string"/>
    14. <s:element minOccurs="0" maxOccurs="1" name="CSID" type="s:string"/>
    15. <s:element minOccurs="0" maxOccurs="1" name="Sender" type="s:string"/>
    16. <s:element minOccurs="0" maxOccurs="1" name="Sendername" type="s:string"/>
    17. <s:element minOccurs="0" maxOccurs="1" name="Header" type="s:string"/>
    18. <s:element minOccurs="0" maxOccurs="1" name="Subject" type="s:string"/>
    19. <s:element minOccurs="0" maxOccurs="1" name="Body" type="s:string"/>
    20. <s:element minOccurs="0" maxOccurs="1" name="BodyContentType" type="s:string"/>
    21. <s:element minOccurs="0" maxOccurs="1" name="Resolution" type="s:string"/>
    22. <s:element minOccurs="1" maxOccurs="1" name="TestMode" type="s:boolean"/>
    23. <s:element minOccurs="0" maxOccurs="1" name="Recipients" type="tns:ArrayOfOutboundRecipient"/>
    24. <s:element minOccurs="0" maxOccurs="1" name="Documents" type="tns:ArrayOfOutboundDocument"/>
    25. <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string"/>
    26. <s:element minOccurs="0" maxOccurs="1" name="Retries" type="s:string"/>
    27. </s:sequence>
    28. </s:complexType>
    29. <s:complexType name="ArrayOfOutboundRecipient">
    30. <s:sequence>
    31. <s:element minOccurs="0" maxOccurs="unbounded" name="OutboundRecipient" nillable="true" type="tns:OutboundRecipient"/>
    32. </s:sequence>
    33. </s:complexType>
    34. <s:complexType name="OutboundRecipient">
    35. <s:sequence>
    36. <s:element minOccurs="0" maxOccurs="1" name="TransactionID" type="s:string"/>
    37. <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string"/>
    38. <s:element minOccurs="0" maxOccurs="1" name="Phone" type="s:string"/>
    39. <s:element minOccurs="0" maxOccurs="1" name="ScheduleTime" type="s:string"/>
    40. </s:sequence>
    41. </s:complexType>
    42. <s:complexType name="ArrayOfOutboundDocument">
    43. <s:sequence>
    44. <s:element minOccurs="0" maxOccurs="unbounded" name="OutboundDocument" nillable="true" type="tns:OutboundDocument"/>
    45. </s:sequence>
    46. </s:complexType>
    47. <s:complexType name="OutboundDocument">
    48. <s:complexContent mixed="false">
    49. <s:extension base="tns:DocumentBase">
    50. <s:sequence>
    51. <s:element minOccurs="0" maxOccurs="1" name="TransferEncoding" type="s:string"/>
    52. </s:sequence>
    53. </s:extension>
    54. </s:complexContent>
    55. </s:complexType>
    56. <s:complexType name="DocumentBase" abstract="true">
    57. <s:sequence>
    58. <s:element minOccurs="0" maxOccurs="1" name="FileData" type="s:string"/>
    59. <s:element minOccurs="0" maxOccurs="1" name="ContentType" type="s:string"/>
    60. </s:sequence>
    61. </s:complexType>
    62. <s:complexType name="RequestSettings">
    63. <s:sequence>
    64. <s:element minOccurs="0" maxOccurs="1" name="DIMEDocuments" type="tns:DIMEDocuments"/>
    65. <s:element minOccurs="0" maxOccurs="1" name="SecurityMode" type="tns:SecurityRequest"/>
    66. </s:sequence>
    67. </s:complexType>
    68. <s:complexType name="DIMEDocuments">
    69. <s:complexContent mixed="false">
    70. <s:extension base="tns:DIMEConfiguration">
    71. <s:sequence>
    72. <s:element minOccurs="0" maxOccurs="1" name="SecretKeys" type="tns:ArrayOfSecretKey"/>
    73. </s:sequence>
    74. </s:extension>
    75. </s:complexContent>
    76. </s:complexType>
    77. <s:complexType name="DIMEConfiguration">
    78. <s:sequence>
    79. <s:element minOccurs="1" maxOccurs="1" name="Chunked" type="s:boolean"/>
    80. <s:element minOccurs="1" maxOccurs="1" name="Encrypted" type="s:boolean"/>
    81. <s:element minOccurs="0" maxOccurs="1" name="EncryptionType" type="s:string"/>
    82. </s:sequence>
    83. </s:complexType>
    84. <s:complexType name="SecurityRequest">
    85. <s:complexContent mixed="false">
    86. <s:extension base="tns:DIMEConfiguration">
    87. <s:sequence>
    88. <s:element minOccurs="1" maxOccurs="1" name="UseDIME" type="s:boolean"/>
    89. <s:element minOccurs="1" maxOccurs="1" name="DigitallySigned" type="s:boolean"/>
    90. </s:sequence>
    91. </s:extension>
    92. </s:complexContent>
    93. </s:complexType>
    94. <s:complexType name="ArrayOfSecretKey">
    95. <s:sequence>
    96. <s:element minOccurs="0" maxOccurs="unbounded" name="SecretKey" nillable="true" type="tns:SecretKey"/>
    97. </s:sequence>
    98. </s:complexType>
    99. <s:complexType name="SecretKey">
    100. <s:sequence>
    101. <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:base64Binary"/>
    102. <s:element minOccurs="0" maxOccurs="1" name="IV" type="s:base64Binary"/>
    103. </s:sequence>
    104. </s:complexType>
    Alles anzeigen


    Und hier mein PHP dazu:

    Quellcode

    1. <?php
    2. $client = new SoapClient( "http://webservices.anbieter.net/fax/1.0/faxservice.asmx?WSDL",array("trace" => 1, "exceptions" => 0));
    3. $odocdet = array
    4. (
    5. "TransferEncoding" => "text/plain",
    6. "FileData" => "filedata part",
    7. "ContentType" => "text/plain"
    8. );
    9. $odetails = array
    10. (
    11. "TransactionID" => '',
    12. "Name" => "Receipt Name",
    13. "Phone" => "4989954398xxx",
    14. "ScheduleTime" => 'false'
    15. );
    16. $params = array
    17. (
    18. "customerID" => "xxxxxx",
    19. "Password" => "matze",
    20. "ConfirmationURL" => "mailto:matthias.orczak@anbieter.com",
    21. "CSID" => "CSID FIELD",
    22. "Sender" => "Sender Field",
    23. "Sendername" => "Sender Name",
    24. "Header" => "Header Field",
    25. "Subject" => "Subject Field",
    26. "Body" => "Body part",
    27. "BodyContentType" => "text/plain",
    28. "Resolution" => "Resolution part",
    29. "TestMode" => "true",
    30. "Recipients" => $odetails,
    31. "Documents" => $odocdet,
    32. "Date" => "Date string",
    33. "Retries" => "retries"
    34. );
    35. $res = $client->Send($params);
    36. print_r($res);
    Alles anzeigen


    Und hier die Teilausgabe wenn ich die PHP Datei aufrufe:

    [faultstring] => Server was unable to process request. --> Object reference not set to an instance of an object. [faultcode] => soap:Server [detail] => )

    Kann mir wer weiterhelfen?

    Merci vorab,
    Matthias
    Das Leben ist binär - du bist eine 1, oder eine 0
  • hi

    stellst du auch den wsdl service? Wielleicht findet man auf serverseite ein detailliertere Fehlermeldung.

    Ansonsten würd ichs mal mit NuSoap probieren.
    Ich weiß dass die SOAP Implementierung bei frühen PHP5 Versionen nicht so super war.

    Oder nimm mal ein paar Parameter raus und bau sie wieder Schritt für Schritt ein

    Wenn du mehr zu SOAP, WSDL und PHP erfahren möchtest, dann lies hier mal weiter: [wiki]PHP SOAP Server mit WSDL und API Schlüssel[/wiki]
  • Moin!

    Also die WSDL stellt ein anderer Server bei uns in der Firma auf welche ich leider keinen Zugriff habe. Ich habe meinen Code auch intern schon rumgereicht, nur scheint in Miami niemand mit PHP zu arbeiten :(

    Mit der PHP -> SOAP Implementierung sollte eigentlich alles passen, eine andere Funktion (sendlite) funkioniert einwandfrei.

    Ich glaube das ich beim bauen des "Documents" Baumes einen Fehler habe.
    Das Leben ist binär - du bist eine 1, oder eine 0
  • Die Fehlermeldung bedeutet für mich, dass er kein assoziatives Array haben will, sondern ein Objekt mit den entsprechenden Public Members (Variablen).
    Hast du das schon mal ausprobiert?

    Quellcode

    1. class Outbound
    2. {
    3. public $CustomerID;
    4. ...
    5. }
    6. class RequestSettings
    7. {
    8. }
    9. class Send
    10. {
    11. public $faxData:
    12. public $requestSettings;
    13. public function __construct () {
    14. $this->faxData = new Outbound;
    15. $this->requestSettings = new RequestSettings;
    16. }
    17. }
    Alles anzeigen
  • Hi!

    Danke erst mal für die genommene Zeit ....

    Hier mein derzeitiger PHP Code:

    Quellcode

    1. <?php
    2. class Outbound
    3. {
    4. public $CustomerID;
    5. public $Password;
    6. public $Subject;
    7. public $Body;
    8. public $BodyContentType;
    9. public $TestMode;
    10. }
    11. class RequestSettings
    12. {
    13. public $TransactionID;
    14. public $Name;
    15. public $Phone;
    16. public $scheduleTime;
    17. }
    18. class Send
    19. {
    20. public $faxData;
    21. public $requestSettings;
    22. public function __construct () {
    23. $this->faxData = new Outbound;
    24. $this->requestSettings = new RequestSettings;
    25. }
    26. }
    27. $send = new Send ();
    28. $send->faxData->CustomerID = "49000xxxx";
    29. $send->faxData->Password = "xxxx";
    30. $send->faxData->Subject = "subject line";
    31. $send->faxData->Body = "body line";
    32. $send->faxData->BodyContentType = "plain/text";
    33. $send->faxData->TestMode = "1";
    34. $send->requestSettings->TransactionID = "";
    35. $send->requestSettings->Name = "Matthias";
    36. $send->requestSettings->Phone = "498995439xxxx";
    37. $send->requestSettings->ScheduleTime = "";
    38. $client = new SoapClient( "http://webservices.anbieter.net/fax/1.0/faxservice.asmx?WSDL",array("trace" => 1, "exceptions" => 0));
    39. $res = $client->Send($send);
    40. print_r($res);
    Alles anzeigen


    Zurückbekommen du ich derzeit:


    Quellcode

    1. SoapFault Object ( [message:protected] => [string:private] => [code:protected] => 0 [file:protected] => /opt/lampp/htdocs/visionali/send1.php [line:protected] => 44 [trace:private] => Array ( [0] => Array ( [function] => __call [class] => SoapClient [type] => -> [args] => Array ( [0] => Send [1] => Array ( [0] => Send Object ( [faxData] => Outbound Object ( [CustomerID] => 49000xxxx [Password] => xxxx [Subject] => subject line [Body] => body line [BodyContentType] => plain/text [TestMode] => 1 ) [requestSettings] => RequestSettings Object ( [TransactionID] => [Name] => Matthias [Phone] => 498995439xxxx [scheduleTime] => [ScheduleTime] => ) ) ) ) ) [1] => Array ( [file] => /opt/lampp/htdocs/visionali/send1.php [line] => 44 [function] => Send [class] => SoapClient [type] => -> [args] => Array ( [0] => Send Object ( [faxData] => Outbound Object ( [CustomerID] => 49000xxxx [Password] => mxxxx [Subject] => subject line [Body] => body line [BodyContentType] => plain/text [TestMode] => 1 ) [requestSettings] => RequestSettings Object ( [TransactionID] => [Name] => Matthias [Phone] => 4989954398xxx [scheduleTime] => [ScheduleTime] => ) ) ) ) ) [faultstring] => 5001 [faultcode] => soap:Client [faultactor] => http://webservices.venali.net/fax/1.0/faxservice.asmx [detail] => stdClass Object ( [InnerExceptionMessage] => At least one fax recipient is required and was not specified. ) )


    Aber ich habe den Empfänger doch eingetragen, ich verstehs nicht ... aber immerhin bin ich schon mal soweit das ich weiß das es über Classen laufen muss :)

    Weiß jemand Rat?
    Das Leben ist binär - du bist eine 1, oder eine 0
  • Kommt schon, lasst mich nicht verhungern .... Helft mir bitte,

    Hier nochmal mein derzeitiger Code:

    Quellcode

    1. <?php
    2. class Outbound
    3. {
    4. public $CustomerID;
    5. public $Password;
    6. public $Subject;
    7. public $Body;
    8. public $BodyContentType;
    9. public $TestMode;
    10. }
    11. class OutboundRecipients
    12. {
    13. public $TransactionID;
    14. public $Name;
    15. public $Phone;
    16. public $ScheduleTime;
    17. }
    18. class Send
    19. {
    20. public $faxData;
    21. public $recipients;
    22. public function __construct () {
    23. $this->faxData = new Outbound;
    24. $this->faxData = new OutboundRecipients;
    25. }
    26. }
    27. $client = new SoapClient( "http://webservices.venali.net/fax/1.0/faxservice.asmx?WSDL",array("trace" => 1, "exceptions" => 0));
    28. $send = new Send ();
    29. $send->faxData->CustomerID = "490005278";
    30. $send->faxData->Password = "matze";
    31. $send->faxData->Subject = "subject line";
    32. $send->faxData->Body = "body line";
    33. $send->faxData->BodyContentType = "plain/text";
    34. $send->faxData->TestMode = "1";
    35. $send->faxData->TransactionID = "";
    36. $send->faxData->Name = "Receipt Name";
    37. $send->faxData->Phone = "4989954398823";
    38. $send->faxData->ScheduleTime = '';
    39. $res = $client->Send($send);
    40. print_r($res);
    Alles anzeigen
    Das Leben ist binär - du bist eine 1, oder eine 0
  • ich hab mich mal mehr auf die meldung konzentriert
    kopiert das nächste mal doch bitte aus dem html quelltext - dann bleiben die zeileneinrückungen und -umbrüche vorhanden

    Hier also nochmal die Fehlermeldung:

    Quellcode

    1. SoapFault Object (
    2. [message:protected] =>
    3. [string:private] =>
    4. [code:protected] => 0
    5. [file:protected] => /opt/lampp/htdocs/visionali/send1.php
    6. [line:protected] => 44
    7. [trace:private] => Array (
    8. [0] => Array (
    9. [function] => __call
    10. [class] => SoapClient
    11. [type] => ->
    12. [args] => Array (
    13. [0] => Send
    14. [1] => Array (
    15. [0] => Send Object (
    16. [faxData] => Outbound Object (
    17. [CustomerID] => 49000xxxx
    18. [Password] => xxxx
    19. [Subject] => subject line
    20. [Body] => body line
    21. [BodyContentType] => plain/text
    22. [TestMode] => 1 )
    23. [requestSettings] => RequestSettings Object (
    24. [TransactionID] =>
    25. [Name] => Matthias
    26. [Phone] => 498995439xxxx
    27. [scheduleTime] =>
    28. [ScheduleTime] => )
    29. )
    30. )
    31. )
    32. )
    33. [1] => Array (
    34. [file] => /opt/lampp/htdocs/visionali/send1.php
    35. [line] => 44
    36. [function] => Send
    37. [class] => SoapClient
    38. [type] => ->
    39. [args] => Array (
    40. [0] => Send Object (
    41. [faxData] => Outbound Object (
    42. [CustomerID] => 49000xxxx
    43. [Password] => mxxxx
    44. [Subject] => subject line
    45. [Body] => body line
    46. [BodyContentType] => plain/text
    47. [TestMode] => 1 )
    48. [requestSettings] => RequestSettings Object (
    49. [TransactionID] =>
    50. [Name] => Matthias
    51. [Phone] => 4989954398xxx
    52. [scheduleTime] =>
    53. [ScheduleTime] => )
    54. )
    55. )
    56. )
    57. )
    58. [faultstring] => 5001
    59. [faultcode] => soap:Client
    60. [faultactor] => http://webservices.venali.net/fax/1.0/faxservice.asmx
    61. [detail] => stdClass Object (
    62. [InnerExceptionMessage] => At least one fax recipient is required and was not specified. )
    63. )
    Alles anzeigen



    Fehlermeldung: At least one fax recipient is required and was not specified

    Dein Request scheint also zu funktionieren - musst nur deinen Empfänger ergänzen

    http://webservices.venali.net/fax/1.0/faxservice.asmx?op=Send

    Quellcode

    1. <Recipients>
    2. <OutboundRecipient>
    3. <TransactionID>string</TransactionID>
    4. <Name>string</Name>
    5. <Phone>string</Phone>
    6. <ScheduleTime>string</ScheduleTime>
    7. </OutboundRecipient>
    8. </Recipients>
  • So .... danke nochmal für all die Hilfe .... nun habe ich es doch nach "nur" 7 Stunden geschafft .... das Fax wird versendet.

    Hier noch der Code:

    Quellcode

    1. <?php
    2. class Outbound
    3. {
    4. public $CustomerID;
    5. public $Password;
    6. public $Subject;
    7. public $Body;
    8. public $BodyContentType;
    9. public $TestMode;
    10. public $TransactionID;
    11. public $Name;
    12. public $Phone;
    13. public $ScheduleTime;
    14. }
    15. class Send
    16. {
    17. public $faxData;
    18. public function __construct () {
    19. $this->faxData = new Outbound;
    20. }
    21. }
    22. $client = new SoapClient( "http://webservices.venali.net/fax/1.0/faxservice.asmx?WSDL",array("trace" => 1, "exceptions" => 0));
    23. $send = new Send ();
    24. $send->faxData->CustomerID = "49000xxx";
    25. $send->faxData->Password = "hundkatze";
    26. $send->faxData->Subject = "test ~plainRTF ";
    27. $send->faxData->Body = "Matze ist der coolste Kerl auf Erden ... er ist einfach fantastisch";
    28. $send->faxData->BodyContentType = "plain/text";
    29. $send->faxData->TestMode = "1";
    30. $send->faxData->Recipients->OutboundRecipient->TransactionID = "";
    31. $send->faxData->Recipients->OutboundRecipient->Name = "Matthias";
    32. $send->faxData->Recipients->OutboundRecipient->Phone = "498995439xxxx";
    33. $send->faxData->Recipients->OutboundRecipient->ScheduleTime = "";
    34. $res = $client->Send($send);
    35. print_r($res);
    Alles anzeigen
    Das Leben ist binär - du bist eine 1, oder eine 0
  • ich versteh nicht ganz, warum du die Änderungen gemacht hast, die du gemacht hast ;)

    Hier weist du ja dem selben Obekt 2 unterschiedliche Sachen zu:

    Quellcode

    1. $this->faxData = new Outbound;
    2. $this->faxData = new OutboundRecipients;


    aber egal.. hab selbst irgendwie im Dunkeln getappt..

    Du brauchst du in der Klasse Outbound noch eine public Variable namens Recipients, und in der Recipients eine Klasse Namens OutboundRecipient. Und in der Klasse wiederum benötigst du die Variablen TransactionID, Name, Phone, ...

    Am Ende musst dein Objektpfad dann so aussehen:
    faxData->Recipients->OutboundRecipient->TransactionID

    Die Lösung sieht des constructs sieht in etwa so aus:

    Quellcode

    1. $this->faxData = new Outbound;
    2. $this->faxData->Recipients = new OutboundRecipients;


    Wie du die Variablen setzt, weißt du ja
  • Da warst du ein paar Sekunden schneller als ich.. aber schau dir meine Lösung dennoch mal an. Ich behaupte mal die ist sauberer.

    Du zauberst "Recipients->OutboundRecipient" einfach irgendwoher...

    Ganz nach dem Prinzip wie auch früher für den InternetExplorer entwickelt wurde.
    Wenn es klappt, dann ist es gut.

    Aber vielleicht ist PHP irgendwann nichtmehr so tollerant
  • So, habe es deinem Code angepasst, ist es so wie du meinst?

    Quellcode

    1. <?php
    2. class Outbound
    3. {
    4. public $CustomerID;
    5. public $Password;
    6. public $Subject;
    7. public $Body;
    8. public $BodyContentType;
    9. public $Resolution;
    10. public $TestMode;
    11. }
    12. class OutboundRecipients
    13. {
    14. public $TransactionID;
    15. public $Name;
    16. public $Phone;
    17. public $ScheduleTime;}
    18. class Send
    19. {
    20. public $faxData;
    21. public function __construct () {
    22. $this->faxData = new Outbound;
    23. $this->faxData->Recipients = new OutboundRecipients;
    24. }
    25. }
    26. $client = new SoapClient( "http://webservices.venali.net/fax/1.0/faxservice.asmx?WSDL",array("trace" => 1, "exceptions" => 0));
    27. $send = new Send ();
    28. $send->faxData->CustomerID = "49000xxxx";
    29. $send->faxData->Password = "möter";
    30. $send->faxData->Subject = "test ~plainRTF ";
    31. $send->faxData->Body = "Matze ist der coolste Kerl auf Erden ... er ist einfach fantastisch";
    32. $send->faxData->BodyContentType = "plain/text";
    33. $send->faxData->Resolution = "2";
    34. $send->faxData->TestMode = "1";
    35. $send->faxData->Recipients->OutboundRecipient->TransactionID = "";
    36. $send->faxData->Recipients->OutboundRecipient->Name = "Matthias";
    37. $send->faxData->Recipients->OutboundRecipient->Phone = "4989954398xxxx";
    38. $send->faxData->Recipients->OutboundRecipient->ScheduleTime = "";
    39. $res = $client->Send($send);
    40. print_r($res);
    Alles anzeigen
    Das Leben ist binär - du bist eine 1, oder eine 0
  • Quellcode

    1. <?php
    2. $cusid = $_POST['cusid'];
    3. $passwd = $_POST['passwd'];
    4. $confirmationurl = "mailto:".$_POST['confirmationurl'];
    5. $subject = $_POST['subject'];
    6. $body = $_POST['body'];
    7. $bodytype = $_POST['bodytype'];
    8. $resolution = $_POST['resolution'];
    9. $testmode = "1";
    10. $transactionid = $_POST['transactionid'];
    11. $sname = $_POST['sname'];
    12. $faxno = $_POST['faxno'];
    13. $scheduletime = $_POST['scheduletime'];
    14. class Outbound
    15. {
    16. public $CustomerID;
    17. public $Password;
    18. public $confirmationurl;
    19. public $Subject;
    20. public $Body;
    21. public $BodyContentType;
    22. public $Resolution;
    23. public $TestMode;
    24. }
    25. class OutboundRecipients
    26. {
    27. public $TransactionID;
    28. public $Name;
    29. public $Phone;
    30. public $ScheduleTime;
    31. }
    32. class Send
    33. {
    34. public $faxData;
    35. public function __construct () {
    36. $this->faxData = new Outbound;
    37. $this->faxData->Recipients = new OutboundRecipients;
    38. }
    39. }
    40. $client = new SoapClient( "http://webservices.venali.net/fax/1.0/faxservice.asmx?WSDL",array("trace" => 1, "exceptions" => 0));
    41. $send = new Send ();
    42. $send->faxData->CustomerID = $cusid;
    43. $send->faxData->Password = $passwd;
    44. $send->faxData->ConfirmationURL = $confirmationurl;
    45. $send->faxData->Subject = $subject;
    46. $send->faxData->Body = $body;
    47. $send->faxData->BodyContentType = $bodytype;
    48. $send->faxData->Resolution = $resolution;
    49. $send->faxData->TestMode = $testmode;
    50. $send->faxData->Recipients->OutboundRecipient->TransactionID = $transactionid;
    51. $send->faxData->Recipients->OutboundRecipient->Name = $sname;
    52. $send->faxData->Recipients->OutboundRecipient->Phone = $faxno;
    53. $send->faxData->Recipients->OutboundRecipient->ScheduleTime = $scheduletime;
    54. $res = $client->Send($send);
    55. print_r($res);
    Alles anzeigen


    Kann mir jemand sagen ob der Syntax und Aufbau nun richtig ist? Was mir nicht ganz einleuchtet ist der Sinn der Zeilen:

    Quellcode

    1. class Outbound
    2. {
    3. public $CustomerID;
    4. public $Password;
    5. public $confirmationurl;
    6. public $Subject;
    7. public $Body;
    8. public $BodyContentType;
    9. public $Resolution;
    10. public $TestMode;
    11. }
    12. class OutboundRecipients
    13. {
    14. public $TransactionID;
    15. public $Name;
    16. public $Phone;
    17. public $ScheduleTime;
    18. }
    Alles anzeigen


    Da passiert doch eigentlich gar nichts. Es wird eine Klasse definiert und diese Klasse wird nachher benutzt, aber bis auf die Objekte ist die Klasse ja leer ?

    Könnte man den Code optimieren?

    Grüße,
    Matze
    Das Leben ist binär - du bist eine 1, oder eine 0
  • klappen die umlaute nun? utf8 en-/decode solltens doch eigentlich regeln.

    Ja, der "unklare" code legt lediglich eine leere klasse an.
    Aber die Variablen sind public und dürfen daher direkt mit klasse->var bearbeitet werden.

    Wäre sehr unschön Klassensyntax zu verwenden, wenn die Klasse in Wirklichkeit nicht existiert.

    Zu optimieren fällt mir nichts ein. Authentifizierung und Exception Handling (bei komischen Eingaben) macht vermutlich der SOAP Service.
  • Hi!

    Nein, Die Umlaute klappen noch nicht (leider).

    Nach erfolgtem Aufruf kriege ich zurück:

    stdClass Object ( [SendResult] => stdClass Object ( [string] => c6108650-b4a9-4a62-b71e-b43e05b848l1 ) )

    Wie kann ich nun eine varibale erstellen die den Inhalt des Strings wiedergibt um diesen weiterzuverarbeiten?

    Quellcode

    1. <soap:Body>
    2. <SendResponse xmlns="http://webservices.venali.net/fax/1.0/">
    3. <SendResult>
    4. <string>string</string>
    5. <string>string</string>
    6. </SendResult>
    7. </SendResponse>
    Das Leben ist binär - du bist eine 1, oder eine 0