I've set up, soap_server module with the 6.x-2.0-beta1 version of services. There was a slight bug with the module but i managed to patch it to return the correct WSDL description (will post a subsequent patch if i manage to get the rest resolved).
I am now at a state where i can see the list of services on /services/soap and i have what i think is a correct WSDL declaration at /services/soap/wsdl.
If i enter the WSDL url into a program like soapUI it returns the list of available services and forms the envelope requests for me.
If i then try to submit a request to the system.connect service, it simply returns again the WSDL declaration instead of returning an array.
The only difference in the WSDL declaration from the one on /services/soap is it has added the following -
<message name="soap_call_wrapperRequest"/>
<message name="soap_call_wrapperResponse">
<part name="return" type="xsd:Array"/>
</message>
I'm assuming this is because you check if there is any $HTTP_RAW_POST_DATA and then try to modify the wrapper so that every call to a soap service is routed through soap_call_wrapper() function. (because SOAP expects the envelope to contain the function name to call, which cannot have a '.' in it in php?)
It does not seem like the request is getting through to soap_call_wrapper and the response returned is blank, I am not sure how to debug this further without delving into the depths of the nuSoap library. Any ideas?
| Comment | File | Size | Author |
|---|---|---|---|
| #7 | drupal_wsdl1.png | 5.45 KB | dajuice |
Comments
Comment #1
ilo commentedNo, no clues, but services is being modified (hash patch probably broke this) and this module needs to fit these changes. I'm waiting for services to settle a litle bit before any mayor change right now while I'm still evolving the php soap part of the module, in the hope of having a better soap server module in a short future.
If your intention is to update this module to current services module, I'd suggest you to wait, I'm waiting for this and other reasons. If your intention is to use the soap server module then please use a previous services version that seems to work without errors.
Thanks for your submission!!
Comment #2
xsyn commentedPlease could I bump this.
I'm having the same issue, and I'm concerned about using an old services version in case things break on a live environment because someone did an update.
Comment #3
IncrediblyKenzi commentedtayzlor: can you attach the patch you are using? I'm happy to take a look, just need to know what your current state looks like.
-=A
Comment #4
xsyn commentedHi,
I have the following enabled:
Services (services) 6.x-2.2
SOAP Server (soap_server) 6.x-1.2-beta1
With a patch that removes the #'s from soap_server. I have nusoap.0.7.3 in the soap_server/nusoap directory, I also noticed last night that I have php5 installed, with the soap.so extension.
I commented out the soap.so extension and my wsdl dissappeared, which makes me suspect that it's a conflict between php5 and nusoap. Having said that the WSDL dissappeared, so nusoap isn't doing what it needs to do either.
Thoughts?
Comment #5
tayzlor commented@acstewart, i'm not sure on the status of this, as i think we got it working, but i have since moved projects and to a new company so unfortunately i cannot give you much of a help, sorry :(
Comment #6
xsyn commentedI found my errors:
1. Spaces in the parameter name
2. trailing /'s at the end of the namespace and uri
3. the wsdl needed to be at http://xxx.com/services/soap?wsdl NOT http://xxx.com/services/soap/wsdl
Comment #7
dajuice commentedI have a similar issue, not sure if its related.
Services 6.x-2.4
SOAP Server 6.x-1.2-beta1 (with patch to remove #'s)
NuSOAP 0.9.5
When i go to "http://.../services/soap" I get a DrupalSoap screen with all the services available (see attached image)
When i go to "http://.../services/soap?wsdl" i get a long XML window with all my services available like this:
But then when I try to access a specific service like ".../services/soap?system.getServices" it sends me back to the same page as ".../services/soap"
How can I test a specific service to ensure its working? I am trying to call the SOAP services from Flash Builder 4 and haven't gotten anywhere.
When I try to use flash builder's web service wizard it seems to connect to the URI but then after it introspects it, it just goes back to the same wizard screen instead of advancing to the page where i can see a list of services it found and hence i cannot finish the wizard. There is no error generated either when this happens.
Comment #8
dajuice commentedI think i figured out my issue partially. I didnt read the readme for the soap server. I have to call the soap service wrapper. Does anyone know how to properly call the soap service wrapper from inside flashbuilder 4 in actionscript 3?