Thijs Lensselink wrote:
On Fri, 24 Aug 2007 11:53:12 +0200, Angelo Zanetti <angelo@xxxxxxxxxxxx> wrote:
It's probably better to ask on a NuSOAP list.
The call method needs an array with parameters as far as i remember.
But i never use the call method anyway. I always go for the send method.
First create your request XML.
$request = '<SubscriptionStatus xmlns='http://localhost/'>
<ISPID>xx</ISPID>
<ISPPassword>yy</ISPPassword>
<ISPUserID>Angelo1</ISPUserID>
</SubscriptionStatus>';
Then serialize the envelope so it looks like a SOAP request.
$msg = $client->serializeEnvelope($request, false, false, 'document',
'literal');
And use the send method to make a connection and send the request.
$action = 'location of the webservice';
The action variable is that the URL of the WSDL?
$results = $client->send($msg, $action, 60, 60);
Why do you have 60 twice? As far as I can see in the API the send
document is only receiving 3 parameters?
I have posted to many SOAP forums and the mailing list. No luck what so
ever. Your the first to reply thanks, I think this could work.
Your help is very much appreciated.
regards
Angelo
Hey Angelo,
I know getting info for NuSOAP is a b*tch. Maybe switch to PHP5 and the SOAP extension?
The $action variable is not the WSDL url. I missed that part in your first post.
The $action var is actually build up from two parts. The first part being the webservice
location. And the second part is /webserviceAction
The reason i have two 60's in the method call is because in the soapclient
class the method looks like this:
function send($msg, $soapaction = '', $timeout=0, $response_timeout=30) {
But in the meantime i've been trying some other things with NuSOAP. And got this to work with WSDL.
$request = '<SubscriptionStatus xmlns='http://localhost/'>
<ISPID>xx</ISPID>
<ISPPassword>yy</ISPPassword>
<ISPUserID>Angelo1</ISPUserID>
</SubscriptionStatus>';
$params = array('request' => $request);
$operation = 'WebserviceAction';
$result = $client->call($operation, $params, $namespace);
Hope this helps.
Hi, yes I have done it as you have specified with the call method
unfortunately for some weird reason that creates the duplication.
However I have almost got your previous mail working. But in the XML
request I have:
Now I see this is present: xmlns:0="" --> its an error thats making the
XML invalid any reason why its making that?
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:si="http://soapinterop.org/xsd" xmlns:0="">
Another thing i that I have made the action variable to :
"wsdlURL/SubscriptionStatus" where wsdlURL is the URL of wsdl.
This also doesnt work but it might have to do with the above invalid XML
so perhaps this is the correct way to create the action parameter?
Thanks again very much.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php