Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zend_Soap_Client vs .Net Soap Client, read byte format problem, xsd base64binary, problem z odczytem danych
josephin_1
post 29.03.2012, 18:03:04
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 9.04.2008

Ostrzeżenie: (0%)
-----


Witam,

mam problem z wlasciwa konfiguracja webservisu soap. Uzywam Zend_Soap_Service.

Jedna z metod ma zwracac plik pdf jako dano binarne

i tu pojawia sie problem, poniewaz jak wiadomo w php nie ma zmiennej typu byte, byteArray, binary.
base64_encode i pack zwracaja stringi. W dockBlocku dalem wiec mixed

Moja metoda w klasie parsowanej przez Zend_Soap_Service wyglada nastepujaco:


  1. /**
  2. * Zwraca raport Pdf
  3. *
  4. * @param int $id
  5. * @return mixed
  6. */
  7. public function GetReportPdf($id)
  8. {
  9. $url = PDF_PATH.'/test.pdf';
  10. $fp = fopen($url, "r");
  11. $data = fread($fp, filesize($url));
  12. return new SoapVar(base64_encode($data), XSD_BYTE);
  13. }


Wsdl widzi to w ten sposob

  1. <message name="GetReportPdfOut">
  2. <part name="return" type="xsd:anyType"/>
  3. </message>


Niestety client soapowy utworzony w .Net na zwrotce z tej metody ma "0" .... sad.gif

nie wiem co robie nie tak... teoretycznie w wsdl na zwrotce powinno byc "xsd base64binary
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.05.2024 - 04:16