Question

I need to implement a SOAP server that will respond to a third-party application that behaves as a SOAP client.

The server should be in PHP, so I started using nusoap and http://www.wsdltophp.com/ to generate the skeleton.

Here's the wsdl file they gave me: http://pastebin.com/YXBbszqE The guy from support said I should start with the Ping request, because it's the most simple and straightforward to implement.

I'm new to this and will really appreciate some help.

Here's what I have so far for the server: http://pastebin.com/vARst5t0

and to simulate the client: http://pastebin.com/seG7EmM6

and it gives me an error: http://pastebin.com/Say6FmF6

Thanks a lot, guys.

EDIT: I found that on the server, after disabled the error_reporting, I don't receive the previous error.

I forgot to mention that I use the nusoap feature of loading the wsdl file and not defining each complexType manually, but it's still not working, now I get the following error: Operation 'Ping' is not defined in the WSDL for this service. And I'm sure it is there.

Was it helpful?

Solution 2

Thank you guys, I ended up using the php native functions and it was much easier to configure.

OTHER TIPS

Maybe it comes from the options you chose when generating the package. Indeed, when calling the MySoapServicePing::Ping() method, parameters are maybe not sent properly : contained by an array or not. So try modifying the generation behaviour and send the request again.

You may also look to the XML request sent to the SOAP server in order to ensure that it does not come from the request. To get the XML request, you can call the MySoapWsdlClass::getSoapClient()->__getLastRequest() method or the $mySoapServicePing->getLastRequest() method (depends on the version of the generator) after sending the request.

Let me know if it changes anything or not.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top