From: Spavin, M. VF-G. <Mar...@vo...> - 2005-05-31 12:52:46
|
Hi Scott, =20 =20 Here is the captured debug from a failing request.... =20 =20 2005-05-31 13:45:39.640580 soap_proxy_18477: serializing param array for WSDL operation getJobParmMetaData 2005-05-31 13:45:39.640730 wsdl: in serializeRPCParameters with operation getJobParmMetaData, direction input and 2 param(s), and xml schema version http://www.w3.org/2001/XMLSchema 2005-05-31 13:45:39.640957 wsdl: opData: array(9) { ["name"]=3D> string(18) "getJobParmMetaData" ["binding"]=3D> string(17) "JobServiceBinding" ["endpoint"]=3D> string(63) "http://cavok6.nil.lagaude.ibm.com:80/dmserver/servlet/rpcrouter" ["soapAction"]=3D> string(0) "" ["style"]=3D> string(3) "rpc" ["input"]=3D> array(5) { ["encodingStyle"]=3D> string(41) "http://schemas.xmlsoap.org/soap/encoding/" ["namespace"]=3D> string(14) "urn:JobService" ["parts"]=3D> array(2) { ["deviceClassName"]=3D> string(39) "http://www.w3.org/2001/XMLSchema:string" ["jobType"]=3D> string(39) "http://www.w3.org/2001/XMLSchema:string" } ["use"]=3D> string(7) "encoded" ["message"]=3D> string(25) "getJobParmMetaDataRequest" } ["output"]=3D> array(5) { ["encodingStyle"]=3D> string(41) "http://xml.apache.org/xml-soap/literalxml" ["namespace"]=3D> string(14) "urn:JobService" ["use"]=3D> string(7) "literal" ["message"]=3D> string(26) "getJobParmMetaDataResponse" ["parts"]=3D> array(1) { ["result"]=3D> string(37) "http://api.dms.tivoli.com/:anyElement" } } ["transport"]=3D> string(36) "http://schemas.xmlsoap.org/soap/http" ["documentation"]=3D> string(0) "" } 2005-05-31 13:45:39.641261 wsdl: have 2 part(s) to serialize 2005-05-31 13:45:39.641417 wsdl: have 2 parameter(s) provided as arraySimple to serialize 2005-05-31 13:45:39.641540 wsdl: serializing part "deviceClassName" of type "http://www.w3.org/2001/XMLSchema:string" 2005-05-31 13:45:39.641666 wsdl: calling serializeType w/indexed param 2005-05-31 13:45:39.641810 wsdl: in serializeType: deviceClassName, http://www.w3.org/2001/XMLSchema:string, encoded, http://schemas.xmlsoap.org/soap/encoding/, qualified 2005-05-31 13:45:39.641902 wsdl: value: string(4) "Palm" 2005-05-31 13:45:39.642110 wsdl: got a prefixed type: string, http://www.w3.org/2001/XMLSchema 2005-05-31 13:45:39.642244 wsdl: type namespace indicates XML Schema or SOAP Encoding type 2005-05-31 13:45:39.642474 wsdl: do not have schema for namespace http://www.w3.org/2001/XMLSchema 2005-05-31 13:45:39.642675 wsdl: serializeType returning: <deviceClassName xsi:type=3D"xsd:string" SOAP-ENV:encodingStyle=3D"http://schemas.xmlsoap.org/soap/encoding/">Palm= < /deviceClassName> 2005-05-31 13:45:39.642793 wsdl: serializing part "jobType" of type "http://www.w3.org/2001/XMLSchema:string" 2005-05-31 13:45:39.642907 wsdl: calling serializeType w/indexed param 2005-05-31 13:45:39.643040 wsdl: in serializeType: jobType, http://www.w3.org/2001/XMLSchema:string, encoded, , qualified 2005-05-31 13:45:39.643137 wsdl: value: string(9) "INVENTORY" 2005-05-31 13:45:39.643327 wsdl: got a prefixed type: string, http://www.w3.org/2001/XMLSchema 2005-05-31 13:45:39.643447 wsdl: type namespace indicates XML Schema or SOAP Encoding type 2005-05-31 13:45:39.643638 wsdl: do not have schema for namespace http://www.w3.org/2001/XMLSchema 2005-05-31 13:45:39.643824 wsdl: serializeType returning: <jobType xsi:type=3D"xsd:string">INVENTORY</jobType> 2005-05-31 13:45:39.643939 wsdl: serializeRPCParameters returning: <deviceClassName xsi:type=3D"xsd:string" SOAP-ENV:encodingStyle=3D"http://schemas.xmlsoap.org/soap/encoding/">Palm= < /deviceClassName><jobType xsi:type=3D"xsd:string">INVENTORY</jobType> ________________________________ From: nus...@li... [mailto:nus...@li...] On Behalf Of Spavin, Mark, VF-Group Sent: 31 May 2005 13:30 To: nus...@li... Subject: [Nusoap-general] Inherited encoding styles =09 =09 Hi Scott et.al. =20 The following request fails =20 =09 <?xml version=3D"1.0" encoding=3D"ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=3D"http://schemas.xmlsoap.org/soap/encoding/ <http://schemas.xmlsoap.org/soap/encoding/> "=20 =09 xmlns:SOAP-ENV=3D"http://schemas.xmlsoap.org/soap/envelope/ <http://schemas.xmlsoap.org/soap/envelope/> " =20 xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema <http://www.w3.org/2001/XMLSchema> "=20 xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance> "=20 =09 xmlns:SOAP-ENC=3D"http://schemas.xmlsoap.org/soap/encoding/ <http://schemas.xmlsoap.org/soap/encoding/> "=20 xmlns:si=3D"http://soapinterop.org/xsd <http://soapinterop.org/xsd> "=20 xmlns:ns6029=3D"urn:JobService"> <SOAP-ENV:Body> <ns6029:getJobParmMetaData SOAP-ENV:encodingStyle=3D"http://xml.apache.org/xml-soap/literalxml <http://xml.apache.org/xml-soap/literalxml> " xmlns:ns6029=3D"urn:JobService"> <deviceClassName xsi:type=3D"xsd:string" SOAP-ENV:encodingStyle=3D"http://schemas.xmlsoap.org/soap/encoding/ <http://schemas.xmlsoap.org/soap/encoding/">Palm</deviceClassName> ">Palm</deviceClassName> <jobType xsi:type=3D"xsd:string">INVENTORY</jobType> </ns6029:getJobParmMetaData> </SOAP-ENV:Body> </SOAP-ENV:Envelope> =20 =09 This is the working request, I have not yet been into the NuSOAP code yet but it would seem that the second parameter is not inheriting the encoding style of the previous parameter. The service seems to get this request wrong when the second encoding style is omitted. What is the priority of inheritence on the encoding style. is it NuSOAP or the service that is wrong? For calls that simply return the same type eg. strings the services work with the encoding style of the parameters omitted. =20 <?xml version=3D"1.0" encoding=3D"ISO-8859-1"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle=3D"http://schemas.xmlsoap.org/soap/encoding/ <http://schemas.xmlsoap.org/soap/encoding/> "=20 =09 xmlns:SOAP-ENV=3D"http://schemas.xmlsoap.org/soap/envelope/ <http://schemas.xmlsoap.org/soap/envelope/> " =20 xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema <http://www.w3.org/2001/XMLSchema> "=20 xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance <http://www.w3.org/2001/XMLSchema-instance> "=20 =09 xmlns:SOAP-ENC=3D"http://schemas.xmlsoap.org/soap/encoding/ <http://schemas.xmlsoap.org/soap/encoding/> "=20 xmlns:si=3D"http://soapinterop.org/xsd <http://soapinterop.org/xsd> "=20 xmlns:ns6029=3D"urn:JobService"> <SOAP-ENV:Body> <ns6029:getJobParmMetaData SOAP-ENV:encodingStyle=3D"http://xml.apache.org/xml-soap/literalxml <http://xml.apache.org/xml-soap/literalxml> " xmlns:ns6029=3D"urn:JobService"> <deviceClassName xsi:type=3D"xsd:string" SOAP-ENV:encodingStyle=3Dhttp://schemas.xmlsoap.org/soap/encoding/ <http://schemas.xmlsoap.org/soap/encoding/> >Palm</deviceClassName> <jobType xsi:type=3D"xsd:string" SOAP-ENV:encodingStyle=3D"http://schemas.xmlsoap.org/soap/encoding/" <http://schemas.xmlsoap.org/soap/encoding/">Palm</deviceClassName> >INVENTORY</jobType> </ns6029:getJobParmMetaData> </SOAP-ENV:Body> </SOAP-ENV:Envelope> =20 =09 This is the clip from the WSDL =20 <message name=3D"getJobParmMetaDataRequest">=20 <part name=3D"deviceClassName" type=3D"xsd:string" />=20 <part name=3D"jobType" type=3D"xsd:string" />=20 </message> <message name=3D"getJobParmMetaDataResponse"> <part name=3D"result" type=3D"xsd1:anyElement" />=20 </message> =20 <operation name=3D"getJobParmMetaData" parameterOrder=3D"deviceClassName jobType"> <input message=3D"tns:getJobParmMetaDataRequest" name=3D"getJobParmMetaDataRequest" />=20 <output message=3D"tns:getJobParmMetaDataResponse" name=3D"getJobParmMetaDataResponse" /> </operation> =20 Thanks again. =20 Mark Spavin Group Marketing - Terminal Applications and Requirements Tel: +44 1635 685948 Mobile: +44 7919 413135 Email: mar...@vo... =09 Vodafone Group Services Limited=20 Registered Office: Vodafone House, The Connection, Newbury, Berkshire RG14 2FN Registered in England No 3802001 =09 =20 |