Re: Supporting array objects with soapenc:array

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



While trying to access:

    http://old.nabble.com/file/p31715344/k3mail.wsdl

I get the following error:

ERROR:An error occured [Invalid QName value: Can't resolve prefix 'soapec']

There's something wrong with your wsdl I suspect.



- superspace



On 27/05/11 23:00, crazycoders wrote:

Hi, i've started doing some soap yesterday with PHP and i managed to pull off
many strings by myself just looking over the net, but that last problem,
although not critical, would be nice to correct.

I implemented my own SOAP server and SOAP client in my MVC framework using
the SOAP extension from php SoapServer and SoapClient. I created my own WSDL
and class mapping and class set. Everything works fine except for the
conversion of http://old.nabble.com/file/p31715344/ProcessingCode.php
ProcessingCode.php  http://old.nabble.com/file/p31715344/k3mail.wsdl
k3mail.wsdl StdClass objects to message class object when coming back to the
SoapClient. Everything else works fine, the arrays work fine too, i can send
many K3Lite_WebService_Message objects, they get transformed to a<message>
inside of the soap response but the soap client can't seem to make the
transition correctly.

Attached is my code for both server and client and the WSDL file. Obviously
i'm not giving away the full MVC framework, makes no sense.

I think it has something to do with the XSD configuration of the
soapenc:array. The array portion works but it is not converting the
k3m:message back to K3Lite_WebService_Message class. Also, if i can point at
it, the soap enveloppe says that my<response>  is of type k3m but my little
knowledge of SOAP and XML tells me that all sub objects should also be
namespaced k3m and thats why it is not working.

-----Exert from the SOAP return enveloppe-----

"<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:ns1="urn:k3mail"><SOAP-ENV:Body><ns1:response><message><item
id="ref1"><code>200</code><info>All ok</info></item><item
href="#ref1"/><item href="#ref1"/><item
href="#ref1"/></message><language/><list/></ns1:response></SOAP-ENV:Body></SOAP-ENV:Envelope>

"

----Excert of a var_dump of my resulting object ----
object(K3Lite_WebService_Response)#69 (3) {
   ["message"]=>
   array(4) {
     [0]=>
     &object(stdClass)#70 (2) {
       ["code"]=>
       string(3) "200"
       ["info"]=>
       string(6) "All ok"
     }
     [1]=>
     &object(stdClass)#70 (2) {
       ["code"]=>
       string(3) "200"
       ["info"]=>
       string(6) "All ok"
     }
     [2]=>
     &object(stdClass)#70 (2) {
       ["code"]=>
       string(3) "200"
       ["info"]=>
       string(6) "All ok"
     }
     [3]=>
     &object(stdClass)#70 (2) {
       ["code"]=>
       string(3) "200"
       ["info"]=>
       string(6) "All ok"
     }
   }
   ["language"]=>
   array(0) {
   }
   ["list"]=>
   array(0) {
   }
}

--
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux