I'm trying to create a SOAP webservice using PHP and IIS7.
I've created and tested my server, client and WSDL file on a VM (ubuntu, apache2) and it worked perfectly.
Now I have to put this server on a Windows Server 2008 machine and I want to use IIS7.
I first had a problem because my client was returning a SoapFault "405 - method Not Allowed" but i solved it by adding POST to the mapping handler.
Now my request works on my client but i can't receive any answer from the server. This is what i get from my client :
I tried to "log" what happens on my server and I can assure you the server doesn't run the function called by the client.
Do you have any idea why IIS7 doesn't run this function ?
Ok so It seems my POST mapping handler wasn't a good idea because the error wasn't here anymore but my server couldn't receive the HTTP POST.
I figured that my server couldn't understand the php class I used was in a folder so I put the class in the root folder with my server and deleted the mapping handler for POST ... And voilĂ , It works perfectly !
Hope this will help someone one day.
Related
I am working on a React web app with npm for the first time. I'm done with the development and now putting the built package on the web server (bluehost).
All is working well on my Mac: the web app allows getting data from mySQL via php, and posting back to the database.
But when I try the same app (on the same URL, same server, script, same everything...) on my Windows machine, I get an error on the first http request used for authentication.
OPTION http://example.com/script.php net::ERR_CONNECTION_REFUSED
First I thought this was a browser issue.
But I don't get the error on Chrome on my mac but do on Chrome on my Windows, as well as FireFox.
Again, I do not get this error when I test the app on my mac.
Could anybody please give me some direction to solve this?
Thank you!
Got a question about admin-ajax.php. I have a wordpress site that we got developed and a form that uses this php file. this form uses AJAX and PHP to submit to the API that we use. a applyform-page-form.php file contains the Jquery and AJAX calls. These calls utilize a custom plugin to facilitate the XML process. All of the standard WordPress add_action(); calls are processed in this plugin. The site was developed on a Linux hosting panel (hostgator) and was working great. Due to PCI compliancy issues we needed to migrate the site to a Windows IIS host. Once we moved to this host, we get an error 500 with admin-ajax.php. I am stumped on what is causing this error. I checked permissions on the folder and they are fine. The server setup seems ok, we are using the same version of PHP on the windows server, Curl is installed, Not getting any errors in the iis server logs, php server logs are pretty much useless as well.
Question is does anyone know if there are any issues with admin-ajax.php on an IIS server? I have googled for a couple days and nothing about IIS, just mainly Apache and all the answers were basically "get a new host".
Well the thing is that Wordpress use a file call .HTACCESS where it maps the routes for events and request, so, what is hapend here is that you call admin-ajax.php from somewhere that has no "ROUTE", and that is why you have an error 500, but is just because the wordpress is trying to find something that it cand reach.
Try to use the full path to this file.
i need build a restful client on php. i have used pest class which is available on github. my client is working fine on localhost where the web service is hosted on a remote server. but when i uploaded the code to another server it returns timeout. I havent used any extension php (dll files). what can be the issue. please help me. thanx.
How does it execute it's web requests? (Sockets, file_get_contents, curl?) I'd imagine it's an issue of not allowing outbound requests. In that case, contact the server admin and ask them. Try using a demo curl script to see if you can contact google and pull down its index page, that will tell you if you are allowed out bound requests. I had this issue before, where my server was denied outbound requests and just had no results. I would think the server-admin would be able to help here.
I want to get information from ElasticSearch on port 9200 in localhost via REST API and PHP. I have tried both cURL and REST client (HTTPFUL). When I run my PHP script in command line like this:
php searcher.php
php-cgi searcher.php
every thing works fine and get expected response. But when I do this through a web page, I get "Unable to connect " Error on REST client and nothing on cURL.
What is the problem?
By the way, I am using Apache on linux, manually configured besides PHP.
Please help me. Thanks.
I have written some custom webservices to communicate with Infusionsoft. I want to fetch the Custom Field from Infusionsoft on the basis of EmailId.
I have used following SDK to fulfill my requirements: https://github.com/infusionsoft/PHP-iSDK
The issue is that when I test my code in my local machine it runs fine. My local machine contains Windows 7 and wamp server.
But when I deploy it on my cloud server that is based on Ubuntu. it doesnt work. I have already installed apache server on ubuntu..
I have put some debug points in isdk.php file within some functions.. These are the logs from them on each machine:
Local Machine - Windows 7:
In Find By Email Method
***In method caller***
Response From Call: Array
Custom field from Infusionsoft: 20130803T07:46:03
Cloud Server - Ubuntu:
In Find By Email Method
***In method caller***
Response From Call: 0
It seems it gets connected successfully to Infusionsoft but it doesnt return output properly. I have used same request parameters on both.
What I am missing here?? Is it something to do with xmlrpc?? I have placed the xmlrpc directory on ubuntu as well.. but it didnt worked out...
Any quick response would be appreciated.
Thanks
Zunair
Since you did not provide your version of PHP I can only tell you to check your PHP versions and make sure the ubuntu server is at least 5.3.
Print out your response you get from infusionsoft, it should be in the form of an array object and you might have a different message. Perhaps a throttling issue. It looks like the response you are printing out is just some variables you are echoing.
The last thing I can think of to check is the location of the ubuntu machine. If I recall correctly infusionsoft has some groups of IPs blocked from accessing the API. I doubt this is your issue but it is a possibility.
Thanks guys for your response.. I got it working..
The first issue was that infusionsofts logs were not working for me... I did fixed them first and they showed me what was the actual reason..
They were using curl for sending the requests.. In my local machine curl was installed and in ubuntu I didnt have it with me... So, I installed it there.. and then it came back to life.. :)