Good afternoon,
I'm trying to get the advance example up and running and keep running into the same issue.
I've followed the steps in the Readme.txt and enabled via drush en -y migrate_example_advanced --uri=http://d8.local:8083/
I then get the following when using tools from drush and doing drush ms
Fatal error: Class 'SoapClient' not found in /code/modules/migrate_plus/src/Plugin/migrate_plus/data_parser/Soap.php on line 67
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: Class 'SoapClient' not found in
/code/modules/migrate_plus/src/Plugin/migrate_plus/data_parser/Soap.php,
line 67
Should I be able to see the JSON/XML at http://d8.local:8083/? because it's not resolving.
I thought I read somewhere that this example might be broken as of 8.2+, but I can't seem to find the article or anything eluding to that.
Please note because this is likely important. I'm running all of this via the newest version of Drupal 8.2.1 on Kalabox so that could potentially have something to do with it if this is service related, and not code related.
Best,
Shawn
Comment | File | Size | Author |
---|---|---|---|
#17 | interdiff-2823380-9-17.txt | 400 bytes | LOBsTerr |
#17 | catch-soap-client-not-found-2823380-17.patch | 1.96 KB | LOBsTerr |
#14 | catch-soap-client-not-found-2823380-13.patch | 1.85 KB | Dinesh18 |
#9 | catch-soap-client-not-found-2823380-9.patch | 1.57 KB | LOBsTerr |
#7 | catch-soap-client-not-found-2823380-7.patch | 1.44 KB | LOBsTerr |
Comments
Comment #2
joshi.rohit100The line causing problem is
$client = new \SoapClient($url);
and it looks like that soap client/library is not installed for your php.Comment #3
shawnmatthews CreditAttribution: shawnmatthews commentedI'm showing
Soap Client - Enabled
Soap Server - Enabled
soap.wsdl_cache local - 1 master - 1
soap.wsdl_cache_dir local - /tmp master - /tmp
soap.wsdl_cache_enabled local - 1 master -1
soap.wsdl_cache_limit local -5 master - 5
soap.wsdl_cache_ttl local - 86400 master - 86400
Under the php.ini generated from reports/status/php
Still receiving the Class error I mentioned above.
Do I need to enable anything else? Is there a way to bypass just the Soap part of the example. I'm interested in just getting the JSON portion going.
Best,
Shawn
Comment #4
joshi.rohit100Well if your data is json/xml, then instead of using soap plugin try Json or XML plugin (for specific needs). I haven't used soap but as you mentioned soap is enabled, looks like different php.ini/settings for cli and browser.
Comment #5
darkdimHi.
I had the same problem.
I looked at my config and did not find there soap((
I use ubuntu
sudo apt-get update
sudo apt-get install php-soap
and Voila
Comment #6
mikeryanThe Soap source plugin should throw RequirementsException when SoapClient is not found (i.e., the PHP SOAP extension is not installed).
Comment #7
LOBsTerr CreditAttribution: LOBsTerr commentedComment #8
joshi.rohit100I think we should check in the constructor instead. As object is already created at this point.
Comment #9
LOBsTerr CreditAttribution: LOBsTerr commented@joshi.rohit100 Moved the code to the constructor
Comment #10
heddnWe should add
"ext-soap": "*"
to the list of requirements composer.json.Comment #11
heddnThen this check in the constructor is not-necessary.
Comment #12
LOBsTerr CreditAttribution: LOBsTerr commentedComment #13
LOBsTerr CreditAttribution: LOBsTerr commented@heddn The only issue here, theoretically after installation of Drupal the soap extension can be disabled (uninstalled). As a result user will face the same issue ?
Comment #14
Dinesh18 CreditAttribution: Dinesh18 as a volunteer commentedHere is the updated patch which implements #9
Comment #15
LOBsTerr CreditAttribution: LOBsTerr commented@Dinesh18, Did you see that I have assigned already to myself and started to work on it??? You should reassign the task. So, people will know that you started to work on it.
Comment #16
heddnIt would be nice to see an interdiff. And the require in the composer.json is in the incorrect location.
Comment #17
LOBsTerr CreditAttribution: LOBsTerr commentedComment #18
LOBsTerr CreditAttribution: LOBsTerr commentedComment #19
LOBsTerr CreditAttribution: LOBsTerr commentedComment #20
heddnThis looks much better.
Comment #22
Dinesh18 CreditAttribution: Dinesh18 as a volunteer commented@LOBsTerr , sorry for not assigning the issue to myself. I will assign it to myself before working on any issue in future. Thanks.
Comment #23
heddnComment #25
heddnActually, this should be more like the oauth integration and only list as a suggestion.