Running WSF-CPP samples - wso2

I'm trying to run the Echo sample that comes with WSO2 WSF-CPP, and I get the following errors:
[Tue Dec 18 14:26:51 2012] [error] dep_engine.c(1008) Axis2
Configuration file name not found [Tue Dec 18 14:26:51 2012] [error]
dep_engine.c(872) axis2.xml is not available in client repo . [Tue
Dec 18 14:26:51 2012] [error] conf_init.c(201) Loading deployment
engine failed for client repository . [Tue Dec 18 14:26:51 2012]
[critical] ServiceClient.cpp(223) Cannot create service client
I follow the installation steps in 1 and I don't have any problem, but I'm thinking that there is something missed.
Thanks in advance,
U.
1[http://wso2.org/library/tutorials/dummys-guide-writing-web-service-clients-wso2-wsf-c#Running_Your_First_Web_Service_Client_with_WSO2_WSF_CPP]

Set the environemnt variable WSFCPP_HOME to your WSO2 CPP installation path.
Seems your path is not set correctly thats why you are seeing this error.
(I can run the samples in linux)

Related

Video Straming on raspberrypi using flask apche2and wsgi server

I have used flask app for straming video via raspberrypi camera. The code i used for flask app is here:
https://blog.miguelgrinberg.com/post/video-streaming-with-flask
In local server it is doing video stream but not on my website.
I am using apache2 server having wsgi file below:
flaskapp2.wsgi
#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskApp2/FlaskApp2")
from ashish import app as application
application.secret_key ='1233883'
The structure of file system is :
/var/www/FlaskApp2/
flskapp2.wsgi
FlaskApp2/
ashish.py
camera_pi.py
templates/index.html
The ashish.py is the flask app which is doing stream.
The error log file in apache is:
[Wed Nov 23 15:17:17.458803 2016] [mpm_prefork:notice] [pid 783] AH00163: Apache/2.4.10 (Raspbian) mod_wsgi/4.3.0 Python/2.7.9 configured -- resuming normal operations
[Wed Nov 23 15:17:17.459043 2016] [core:notice] [pid 783] AH00094: Command line: '/usr/sbin/apache2'
[Wed Nov 23 15:17:14.278353 2016] [wsgi:warn] [pid 662] mod_wsgi: Compiled for Python/2.7.8.
[Wed Nov 23 15:17:14.279359 2016] [wsgi:warn] [pid 662] mod_wsgi: Runtime using Python/2.7.9.
[Wed Nov 23 15:17:14.305871 2016] [mpm_prefork:notice] [pid 662] AH00163: Apache/2.4.10 (Raspbian) mod_wsgi/4.3.0 Python/2.7.9 configured -- resuming normal operations
[Wed Nov 23 15:17:14.306169 2016] [core:notice] [pid 662] AH00094: Command line: '/usr/sbin/apache2'
[Wed Nov 23 15:17:16.502484 2016] [wsgi:warn] [pid 670] mod_wsgi: Compiled for Python/2.7.8.
[Wed Nov 23 15:17:16.504897 2016] [wsgi:warn] [pid 670] mod_wsgi: Runtime using Python/2.7.9.
[Wed Nov 23 15:17:16.531217 2016] [mpm_prefork:notice] [pid 670] AH00163: Apache/2.4.10 (Raspbian) mod_wsgi/4.3.0 Python/2.7.9 configured -- resuming normal operations
[Wed Nov 23 15:17:16.531502 2016] [core:notice] [pid 670] AH00094: Command line: '/usr/sbin/apache2'
On localhost it is working but not on my website is there any mistake in wsgi file or i need to add something.
You have a few possible issues when getting a 404 Not Found.
If that VirtualHost is not the only one in the Apache configuration file, then it will never be used. This is because you have set ServerName incorrectly. The ServerName directory should be set to a host name. Not a URL, not an IP address. Thus using:
ServerName https://7a78657b7a.dataplicity.io
is incorrect. It should be:
ServerName 7a78657b7a.dataplicity.io
It has to be a host name as Apache relies on it for name base virtual host matching against the Host header in the request. If it is wrong, then Apache will not know which is the correct VirtualHost to use. When this occurs Apache will fall back to sending the requests to whatever was the first VirtualHost definition it found when reading the Apache configuration files. Thus if this is not the first VirtualHost definition, it will never be used. If there is no similar URL handler set up in the first VirtualHost, you will get a 404.
The second is your WSGI application entry point in the WSGI script file pointed at by the WSGIScriptAlias directive, is not called application you will get a 404. You do appear to have it being called application, so you should be fine on this point and it shouldn't be the issue. There would have been a distinctive error message in the Apache error logs of this was the issue anyway.
The third is that the URL path you are using doesn't map to a route in the Flask application. There are actually two part to this. Because you are mounting at a sub URL in Apache, the URL path must at least start with /flask2. With that value it means you need to have a route in your Flask application which matches the root of the site. Normally in Flask that would mean you have a route for #app.route('/') but am not sure whether that still works when you have mounted your Flask application at a sub URL in Apache. You don't show your route code, so can't see what you have. You might at least try instead using /flask2/ in the URL. If your video feed isn't at the root of the Flask application but a sub URL such as set up by #app.route('/video_feed') as given in the post you link, then you should be using /flask2/video_feed as URL path. If you don't use the correct URL you will get a 404.
My whole configuration of files were right but as i was running flask applications under apache server ,apache was not able to acess pi camera because it was not having root access to pi.so,on local server it was working but not on my website when it was running on apache.

avahi_entry_group_new() failed: Too many objects

I'm working on making a REST API for my research lab's database. I'm using the Django REST framework and I've gotten everything running smoothly on my local machine. All my code is in its own branch in our Mercurial repo. When I switch branches on our server, the website crashes with:
Internal Server Error
The server encountered an internal error or misconfiguration and was
unable to complete your request.
Please contact the server administrator, root#localhost and inform
them of the time the error occurred, and anything you might have done
that may have caused the error.
More information about this error may be available in the server error
log.
The error logs on our server look like this:
[Tue Feb 03 12:55:56 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Feb 03 12:55:56 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Feb 03 12:55:56 2015] [notice] Digest: done
[Tue Feb 03 12:55:56 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips mod_wsgi/3.2 Python/2.6.6 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations
[Tue Feb 03 12:56:11 2015] [error] avahi_entry_group_add_service_strlst("Lee on [server name]") failed: Local name collision
(this sort of error repeats many times)
[Tue Feb 03 12:56:13 2015] [error] avahi_entry_group_new() failed: Too many objects
(this error repeats many times.)
I've tried Googling the avahi errors to no avail. Anyone have any insight?
Because of the "too many objects" part of the error, I thought that it might somehow be related to not setting the pagination settings for the API. I only have a couple test objects on my local dev version of the database, but the actual database has tens of thousands. I set up pagination and tried again but it didn't change anything.
Turns out the culprit was not having the djangorestframework package installed for the correct version of Python on the server!? Hopefully this helps someone later down the line.

Django / Apache / mod_wsgi - WEB Application Hangs - Fails to Launch

My Django WEB Application fails to launch all of a sudden and out of the blues.
It was working fine until yesterday in production.
I am not able to figure out where the problem is. It could apache or mod_wsgi or windows but at the moment I have no clue.
I have tried to reinstall all the python libraries/prerequisites etc. but the problem persists nevertheless.
I am serving the WEBApp at Apache Port 8999 and When I access the WEB App, the browser fails to show any error. It just keeps trying to open the page and in the status bar I just see the Waiting for message.
If I see the netstat results then I see the following
C:\Documents and Settings\admintemp>netstat -an | find "8999" TCP
0.0.0.0:8999 0.0.0.0:0 LISTENING TCP 172.18.148.156:8999 10.107.226.88:1826 ESTABLISHED
This connection remains established forever and nothing happens. Internet Browser just seems to try to keep opening the Web App and it appears as if it is waiting forever.
The only thing i see in Apache logs is this
[Fri Jun 21 18:34:32 2013] [warn] mod_wsgi: Compiled for Python/2.7.
[Fri Jun 21 18:34:32 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Fri Jun 21 18:34:32 2013] [notice] Apache/2.2.22 (Win32) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[Fri Jun 21 18:34:32 2013] [notice] Server built: Jan 28 2012 11:16:39
[Fri Jun 21 18:34:32 2013] [notice] Parent: Created child process 3876
[Fri Jun 21 18:34:32 2013] [warn] mod_wsgi: Compiled for Python/2.7.
[Fri Jun 21 18:34:32 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Fri Jun 21 18:34:32 2013] [notice] Child 3876: Child process is running
[Fri Jun 21 18:34:32 2013] [notice] Child 3876: Acquired the start mutex.
[Fri Jun 21 18:34:32 2013] [notice] Child 3876: Starting 64 worker threads.
[Fri Jun 21 18:34:32 2013] [notice] Child 3876: Starting thread to listen on port 8999.
[Fri Jun 21 18:34:43 2013] [error] C:/Program Files/App_Logic/logic_apps/logic_apps\\..\\logic_apps
I also noticed in the Windows Event Viewer logs (Application Logs) the following message but I am not sure how (and if) this could be related to my problem at hand. This message seems to shows up once for everytime i access the Web App.
Application popup: Microsoft Visual C++ Runtime Library : Runtime
Error!
Program: C:\Progr...
R6034 An application has made an attempt to load the C runtime library
incorrectly. Please contact the application's support team for more
information.
Exact screenshot of above error message is at http://imgur.com/hijiKv8
Please note that as part of my analysis I have tried
Accesing the apache page at http://127.0.0.1:8999 does show me the It Works ! message
Running the WEB App using the Django Development server and it launches fine.
Changing the wsgi.py file and when I introduce errors in the file deliberately, accessing the web app does complain with the relevant.
The application is installed on Windows Server 2003 SP1 and there are no automatic updates schedules on this machine so I am not suspecting that a update would have caused this problem. I also saw the Windows Update log and there was nothing installed recently.
The application is based on following Python Libraries as prerequisites
httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
python-2.7.3
Django-1.4.3
psycopg2-2.4.6.win32-py2.7-pg9.2.2-release
cx_Oracle-5.1.2-10g.win32-py2.7
PIL-1.1.7.win32-py2.7
python-ldap-2.4.10.win32-py2.7
south-0.7.6
xlrd-0.9.0
xlwt-0.7.5
mod_wsgi.so
I have tried with the WSGIApplicationGroup %{GLOBAL} directive and setting the log level to debug and info but the resulting logs don't give any additional information.
I have posted apache debug level log at http://dpaste.com/1268653/
I have posted apache info level log at http://dpaste.com/1268660/
Both these logs were taken after a fresh restart of apache and then the application hanging and until I stopped apache and copied the logs.
I also tried running the Hello World Application as documented at https://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines and it worked fine.
I still remain clueless. Appreciate if you could guide me what else I could do to get more details of the issue.
Appreciate if someone could guide me with respect to what more I can do to solve this problem or get more information to get to the root of this.
I was able to solve this issue in the end.
The post at Runtime error R6034 in embedded Python application led me to a solution.
Thanks to Graham Dumpleton and others who were helping me offline to get this issue solved.
It was rather cheeky in the end, a conflicting version of msvcr90.dll
I removed the IBM Bit from the path and it works fine now.

Apache installation for django project

Iam trying to install and configure apache for python 2.7 to develop a django application.
wsgi module is configured.
and I had did the following settings
edit httpd config file
Alias /media/ 'D:/myProjects/mysite/site_media/'
Order deny,allow
Allow from all
WSGIScriptAlias / 'D:\myProjects\mysite\apache\django.wsgi'
Order deny,allow
Allow from all
Create a folder apache in my site,say D:\myProjects\mysite\apache
Create wsgi script named 'django.wsgi'
import os
import sys
sys.path.append('D:\myProjects')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Create a new folder in my site folder named 'site_media'
Copy all images,css,javascript here
Edit template with path to css & images like this
href="/media/style.css"
But when Enter 'http://127.0.0.1' in browser the browser is loading.....but not connecting to my site
when checked in error log
the error is
[Tue May 08 16:59:41 2012] [notice] Parent: child process exited with status 1 -- Restarting.
[Tue May 08 16:59:41 2012] [warn] mod_wsgi: Compiled for Python/2.7.
[Tue May 08 16:59:41 2012] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Tue May 08 16:59:41 2012] [notice] Apache/2.2.21 (Win32) mod_wsgi/3.3 Python/2.7.3
configured -- resuming normal operations
[Tue May 08 16:59:41 2012] [notice] Server built: Sep 9 2011 10:26:10
[Tue May 08 16:59:41 2012] [notice] Parent: Created child process 2408
[Tue May 08 16:59:41 2012] [warn] mod_wsgi: Compiled for Python/2.7.
[Tue May 08 16:59:41 2012] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Tue May 08 16:59:41 2012] [notice] Child 2408: Child process is running
ImportError: No module named site
Please help me ..
if you are using apache2, you have to configure /etc/apache2/sites-enabled/000-default because it doesnt use httpd.config you have mentioned...

Where are my 500s coming from in my DJango app?

I've got Apache setup on windows, (yes, not a very good idea, but not my fault). I open a popup window with about 32 images in it and all but 3 of those image links work. The images are coming from a TIF file and therefore have to be converted, so it is running thru my Django app to do all this and that part is working. The 3 urls that fail, when retried work.
In the apache log, I get 29 200s followed by 3 500s, but the actual images that failed to load are scattered randomly among the 29 good images. When I watch the log with tail -f, the 500s come along many seconds after the 200s but timestamped BEFORE them, like so:
192.168.20.45 - - [08/Mar/2012:01:24:28 -0600] "GET /viewer/... 200 44277
192.168.20.45 - - [08/Mar/2012:01:24:28 -0600] "GET /viewer/... 200 52283
192.168.20.45 - - [08/Mar/2012:01:24:28 -0600] "GET /viewer/... 200 44991
192.168.20.45 - - [08/Mar/2012:01:24:29 -0600] "GET /viewer/... 200 33077
192.168.20.45 - - [08/Mar/2012:01:24:22 -0600] "GET /viewer/... 500 16
192.168.20.45 - - [08/Mar/2012:01:24:22 -0600] "GET /viewer/... 500 16
192.168.20.45 - - [08/Mar/2012:01:24:22 -0600] "GET /viewer/... 500 16
DEBUG=False, and admins are setup, so I should get an email for every 500 that happens in Django, I've tested the email and it works as expected. The code I'm going thru has logging statements for error conditions and none of those are triggering.
It's almost like Apache or Mod_wsgi knows these connections come in, but never passes them to the Django code and they just end up dying from what seems to be a timeout. Chrome DevTools ends up showing me:
**Response Headers**
Connection:close
Content-Type:text/html; charset=utf-8
Date:Thu, 08 Mar 2012 07:24:22 GMT
Server:Apache/2.2.21 (Win32) mod_wsgi/3.3 Python/2.7.2
Set-Cookie:sessionid=d4616w0f850u1eb33q7a6fzf37f840b5; Path=/
Transfer-Encoding:chunked
Vary:Cookie
I'm on windows, and Apache says this on startup:
[Thu Mar 08 01:38:09 2012] [warn] mod_wsgi: Compiled for Python/2.7.
[Thu Mar 08 01:38:09 2012] [warn] mod_wsgi: Runtime using Python/2.7.2.
[Thu Mar 08 01:38:09 2012] [notice] Apache/2.2.21 (Win32) mod_wsgi/3.3 Python/2.7.2 configured -- resuming normal operations
[Thu Mar 08 01:38:09 2012] [notice] Server built: Sep 9 2011 10:26:10
[Thu Mar 08 01:38:09 2012] [notice] Parent: Created child process 3260
[Thu Mar 08 01:38:09 2012] [warn] mod_wsgi: Compiled for Python/2.7.
[Thu Mar 08 01:38:09 2012] [warn] mod_wsgi: Runtime using Python/2.7.2.
[Thu Mar 08 01:38:09 2012] [notice] Child 3260: Child process is running
[Thu Mar 08 01:38:09 2012] [notice] Child 3260: Acquired the start mutex.
[Thu Mar 08 01:38:09 2012] [notice] Child 3260: Starting 64 worker threads.
[Thu Mar 08 01:38:09 2012] [notice] Child 3260: Starting thread to listen on port 80.
There are less than 64 requests so there should be threads left over to handle them.
Any ideas on WHAT is happening? or HOW to figure it out?
EDIT----
There is no traceback, that is the problem. There is no indication at all that Python ever saw this request.
Yes, you shouldn't use python to serve static files, but you can't put a single image TIFF from a multi image TIFF into an you have to pull it from the multi-image file, put it in a format the browser can display, and no you don't want to convert the 100+ million TIFF images into single image PNGs or JPEG. AND these are not images that can be viewed by the general public, but are restricted to their "owners"
Loaded this on a second machine and the problem does not happen.....
You can write a small middleware to handle the exception. You can do some logging in the process_exception method, to find the root of the problem:
https://docs.djangoproject.com/en/dev/topics/http/middleware/#process-exception