I'm pretty new at SOAP, but i didn't think this problem was going to give me such a headache. :-)
I have a WSDL at :
https://qas.sanitel.be/int/QAS_Sanitel_ExtInterfacingSvcs_v2/SanitelServices.asmx?wsdl
Seems to be OK, but it's over https. i think that's where my problem is.
I wrote several PHP scripts i found here on stackoverflow and google to get at least a function list, but anything i try gives me the same error :
I put the script on a wamp server, external host, external with SSL..
( ! ) Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://qas.sanitel.be/int/QAS_Sanitel_ExtInterfacingSvcs_v2/SanitelServices.asmx?wsdl=wsdl1' : failed to load external entity "https://qas.sanitel.be/int/QAS_Sanitel_ExtInterfacingSvcs_v2/SanitelServices.asmx?wsdl=wsdl1" in C:\wamp\www\sanitel.php:25 Stack trace: #0 C:\wamp\www\sanitel.php(25): SoapClient->SoapClient('https://WS4SNTR...', Array) #1 {main} thrown in C:\wamp\www\sanitel.php on line 25
I have the credentials , tried several authentications, everything gives me this error...
anyone see something i don't ? Thanks a lot !
Related
I'm trying to access this URI: http://143.166.84.118/services/assetservice.asmx?WSDL (Dell warranty info)
In Windows Powershell I can do this no problem:
$service = New-WebServiceProxy -Uri http://143.166.84.118/services/assetservice.asmx?WSDL
But in PHP:
$DELL_URL = "http://143.166.84.118/services/assetservice.asmx?WSDL"; //Access webproxy by IP
$soap = new SoapClient($DELL_URL);
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://143.166.84.118/services/assetservice.asmx?WSDL' in C:\path\to\my\script.php:25 Stack trace: #0 C:\path\to\my\script.php(25): SoapClient->SoapClient('http://143.166....') #1 {main} thrown in C:\path\to\my\script.php on line 25
What am I doing wrong in php? I know the URL works cause it works with powershell.
As per Pete's suggestion I went to http://143.166.84.118/services/assetservice.asmx?WSDL and downloaded a local copy of the file then did this which worked:
$soap = new SoapClient($wsdlfilepath);
Do I always have to download a local copy of the file when using php?
edit: Didn't make any changes but now I'm getting "Uncaught SoapFault exception: [Client] looks like we got no XML document in..." error. Should I be worried about this? You can view the wsdl file by going to the link. Are there problems with it or extra white space? I didn't see any.
I'm reading a wsdl for SOAP connection :
https://api3.popfax.com/index.php?service=Popfax&wsdl
Other clients (mobile apps, desktop software, ...) are using it and have been doing so for a long time.
When I try to construct a SoapClient from it, I get :
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://api3.popfax.com/index.php?service=Popfax&wsdl' : Start tag expected, '<' not found in D:\Dev\test\sendfax.php:32 Stack trace: #0 D:\Dev\test\sendfax.php(32): SoapClient->SoapClient('https://api3.po...') #1 {main} thrown in D:\Dev\test\sendfax.php on line 32
So I wrote this to test what I got :
$wsdl = 'https://api3.popfax.com/index.php?service=Popfax&wsdl';
$bip = file_get_contents($wsdl);
var_dump($bip);
And the result is string with on the first line :
'ï<?xml version="1.0" encoding="UTF-8"?>
And every time I reload that test script, the first character is different...
Any idea why ?
It's working fine for me. Have you tried using a simple text editor and just saving your code snippet in it, saving it with a .php suffix in your web root and calling it from localhost? (that's what I did)
It may be that the editor you're using has an encoding issue (just a huge guess).
I am working with magento soap api and it's works fine in my local machine and development server but when i moved my code to production server i found the following error:
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.mydomain.com/magento/index.php/api/soap/index/?wsdl=1' : failed to load external entity "http://www.mydomain.com/magento/index.php/api/soap/index/?wsdl=1" Stack trace: #0 [internal function]: SoapClient->__call('login', Array) #1
I have also check the SOAP setting on server everything is OK but still this error comes.
Please help me...!
I confronted the same problem.
I used V2 Soap.
So to create SoapClient, please try .../api/v2_soap/?wsdl=1
Hope this helps you.
I am trying to create a soap connection using the standard php soap client and I believe it is all correctly coded, however I am receiving this error :
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl' : Start tag expected, '<' not found in C:\wamp\www\php\run.php:16 Stack trace: #0 C:\wamp\www\php\run.php(16): SoapClient->SoapClient('https://m2mconn...') #1 {main} thrown in C:\wamp\www\php\run.php on line 16
From what I have found online it seems one problem may be to do with the ports, however im not sure which ports to check/use or how to.
Im also unsure if it is something to do with my internet connection as it is a little strange being from one router to another.
Here is my code:
$client = new SoapClient("https://m2mconnect.orange.co.uk/orange-soap/services/MessageServiceByCountry?wsdl");
When I upload my webservice files to a live server it does not work. It was working on localhost. How can I fix this problem?
Error message
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing
WSDL: Couldn't load from
'http://openinvite.biz/iphoneservice/server2.php' : Premature end of
data in tag html line 2 in
D:\Hosting\7340680\html\iphoneservice\test.php:102 Stack trace: #0
D:\Hosting\7340680\html\iphoneservice\test.php(102):
SoapClient->SoapClient('http://fomlatong.com/server.php') #1 {main}
thrown in D:\Hosting\7340680\html\iphoneservice\test.php on line 102
You should probably use the WSDL version as opposed to the HTML one.
Change your URL to http://openinvite.biz/iphoneservice/server2.php?wsdl
The list of methods for that service appears to be
syncvents
getEvents
getAllEvents
searchPlaces
rsvpEvent
searchByCity
EditEvent
I'm not sure why you expect there to be a call() method.
Instead of using "soapclient" use "nusoap_client"