PHP4 & Nusoap. Help!
November 1, 2007 12:45 PM   Subscribe

PHP4 & Nusoap, trying to get a client to talk to this wsdl. I suck and can't do it. Help?

my code.
the output.

the actual fault I'm getting is:
System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (1, 515). ---> System.InvalidOperationException:  was not expected.
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read7_SendAndCommit()
   at Microsoft.Xml.Serialization.GeneratedAssembly.SendAndCommitSerializer.Deserialize(XmlSerializationReader reader)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   --- End of inner exception stack trace ---
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, XmlDeserializationEvents events)
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
   at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
   --- End of inner exception stack trace ---
   at System.Web.Services.Protocols.SoapServerProtocol.ReadParameters()
   at System.Web.Services.Protocols.WebServiceHandler.Invoke()
   at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
If you're wondering why I throw the array of params into another array, it's because the sample code (which is for php5 and the built-in SOAP) does it, but I get the same fault even if I don't. And yes, it'd be nice to move up to php5 and it's in the cards for the future, but not at the moment.
posted by juv3nal to Computers & Internet (4 answers total)
 
I had a similar problem with nusoap - my solution was to construct the correct xml myself to send the request... sorry I don't have the code on this computer but if you look at the nusoap functions you should find one that takes the address and xml as a parameter...
posted by missmagenta at 1:32 PM on November 1, 2007


Response by poster: Hmm...I think I gave the client->send(string $msg, [string $soapaction = ''], integer $timeout, [integer $response_timeout = 30]) method a shot already, but I guess it couldn't hurt to have another crack at it.
posted by juv3nal at 2:18 PM on November 1, 2007


Best answer: At least if it doesn't work, you'll be able to trace the fault in the xml with the line number. (although you should be able to do that anyway, iirc, there is a method for outputting the request that was sent)
posted by missmagenta at 2:31 PM on November 1, 2007


Response by poster: Sorted. The push to go back to trying send was what I needed. Thanks.
posted by juv3nal at 3:12 PM on November 1, 2007


« Older How would a metal bar built around the world react...   |   Examples of good Flash work? Newer »
This thread is closed to new comments.