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.

有帮助吗?

解决方案 2

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

其他提示

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top