I use nginx with php5-fpm and I have problem with SOAP webservice. Magento returns wrong address in wsdl.
<service name="MagentoService">
<port name="Mage_Api_Model_Server_HandlerPort" binding="typens:Mage_Api_Model_Server_HandlerBinding">
<soap:address location="http://aaa.local/index.php/?type=soap"/>
</port>
</service>
Should be something like that
<service name="MagentoService">
<port name="Mage_Api_Model_Server_HandlerPort" binding="typens:Mage_Api_Model_Server_HandlerBinding">
<soap:address location="http://aaa.local/api/soap"/>
</port>
</service>
My vhost nginx configuration
server {
listen 80;
server_name aaa.local;
root /var/www/aaa;
location / {
index index.html index.php;
try_files $uri $uri/ @handler;
expires 30d;
}
location /api {
rewrite ^/api/rest /api.php?type=rest last;
rewrite ^/api/soap /api.php?type=soap last;
}
location /app/ { deny all; }
location /includes/ { deny all; }
location /lib/ { deny all; }
location /media/downloadable/ { deny all; }
location /pkginfo/ { deny all; }
location /report/config.xml { deny all; }
location /var/ { deny all; }
location /var/reports { deny all; }
location /var/export/ { ## Allow admins only to view export folder
auth_basic "Restricted"; ## Message shown in login window
auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword
autoindex on;
}
location /. { ## Disable .htaccess and other hidden files
return 404;
}
location @handler { ## Magento uses a common front handler
rewrite / /index.php;
}
location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
rewrite ^(.*.php)/ $1 last;
}
location ~ \.php$ {
if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss
expires off; ## Do not cache dynamic content
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/aaa$fastcgi_script_name;
fastcgi_param MAGE_RUN_CODE aaa;
}
}
Anybody know what is wrong?