RE: MIMEParsingException on JAX-WS with AJP
Mark and Christopher Thank you for your reply. > Are you using mod_jk or mod_proxy_ajp? What versions of everything on the > httpd side? > Specifically, httpd itself as well as mod_jk (if you are using mod_jk, of > course). I'm using httpd 2.2.15-47.el6.centos.4 and mod_proxy_ajp which are provided by CentOS 6.7. It is latest package from updates repo. Except that I have added the following settings, httpd.conf is almost default.ProxyPass ajp://tomcat:8009/ The httpd and tomcat are separated hosts. There is no FW between httpd and tomcat. (same ip segment and iptables was disabled) > > What percentage fail? > > +1 > > Also, do some succeed and then the failure appears to be fatal? Or, do some > requests > succeed and others fail, but they are all mixed together in time? Try running > your test > client 100 times to see what the result is for all 100 trials. 20 of 100 times failed. I tried 100 times from 1 client, so each request are serialized. The failure appears regularly. As follows, Success - Success - Success - Success - Failed ... If failed, client receives the status code 503. > > Can you provide a simple web application that demonstrates the > > problem? > > I think OP tried to do that: Yes. There are them as follows. > >> Server program https://github.com/ooura/jaxws-mtom-sample-server > >> Client program https://github.com/ooura/jaxws-mtom-sample-client --- Nobuhito > -Original Message- > From: Christopher Schultz [mailto:ch...@christopherschultz.net] > Sent: Tuesday, May 10, 2016 2:35 AM > To: Tomcat Users List > Subject: Re: MIMEParsingException on JAX-WS with AJP > > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > Mark, > > On 5/9/16 4:50 AM, Mark Thomas wrote: > > On 09/05/2016 06:39, Ooura, Nobuhito wrote: > >> Hi, All. > >> > >> I am using Tomcat8.0.33 and JAX-WS RI 2.2.10. I am trying to File > >> transfer using JAX-WS with MTOM. Client connects via reverse proxy > >> made by httpd. The httpd connects to tomcat by AJP. > > Are you using mod_jk or mod_proxy_ajp? What versions of everything on the > httpd side? > Specifically, httpd itself as well as mod_jk (if you are using mod_jk, of > course). > > >> When I upload a file several times consecutively, some are completed > >> successful. But, some will fail by the exception that I showed at the > >> end of this message. > > > > What percentage fail? > > +1 > > Also, do some succeed and then the failure appears to be fatal? Or, do some > requests > succeed and others fail, but they are all mixed together in time? Try running > your test > client 100 times to see what the result is for all 100 trials. > > > Can you provide a simple web application that demonstrates the > > problem? > > I think OP tried to do that: > > >> I use the sample program in the following URL for the confirmation of > >> the phenomenon. > >> > >> Server program https://github.com/ooura/jaxws-mtom-sample-server > >> Client program https://github.com/ooura/jaxws-mtom-sample-client > > - -chris > -BEGIN PGP SIGNATURE- > Comment: GPGTools - http://gpgtools.org > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ > > iEYEARECAAYFAlcwyl8ACgkQ9CaO5/Lv0PB9TACghNvV1QqEgi8UVIjzF0NDNSpL > OkAAmgLB24UsO0RHXU9j51q7uRTRAMoi > =V+gY > -END PGP SIGNATURE- > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Auto-bounce a host or webapp?
On Fri, May 6, 2016 at 11:05 AM, Jerry Malcolmwrote: > My web apps are very large. Typically I only need to refresh a jar file > or two. If I went to the WAR approach, I'd have to be uploading several > hundred MB for each web app every time even if only a small jar actually > was being replaced. I really want to stay with the incremental refresh > approach. > > I will look at the program-friendly manager stuff and see if I can make > that work for me. > > Thanks. > > Jerry > > I don't know how you upload your files to the app server, but maybe you can use rsync with the --temp-dir option to specify a scratch dir on the remote host that the files will go to before their final webapp destination. if you don't want to use rsync, then maybe uploading to a temp dir and running a remote command over ssh with pubkey authentication to move the files. your-upload-command && ssh -i key.pem user@host "mv tmp-dir/file webapp-dir" obviously you'd have to play around with the file/directory logic and maybe not using the tomcat user to ssh, but an upload user in the tomcat group -Tony > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
Re: 2 Virual Hosts, 2 SSL Cert's, 2 domains
On 10/05/2016 20:22, skosoy wrote: > I wish configure 2 virtual hosts both are different domain names. It's > necessary to configure for bout 2 different ssl certificates. It seems > like with current server.xml structure it is only one way: create 2 > Connectors on 2 different PORT's, which it seems hit by overall server > performance. Whether it possible do it at a single IP address? > > protocol="org.apache.coyote.http11.Http11Nio2Protocol" maxThreads="350" > SSLEnabled="true" scheme="https" secure="true" clientAuth="false" > sslProtocol="TLS" keystoreFile=".../keyHere.key" keystorePass="secret"/> > > Any ideas, any solutions? I use Apache Tomcat/9.0.0-dev. https://www.youtube.com/watch?v=UnEcYYutbRg Config example around 12:40. See the 9.0.x docs for full details of the options available. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Question regarding parseRequestLine
On 10.05.2016 23:00, Thomas Meyer wrote: Hi, I noticed that I can block tomcat 8 by opening 200 connection to the http 1.1 connector and send 512 bytes of zero in each connection. Tomcat 8 seems to block in parseRequestLine() method for 20 seconds (connectionTimeout) and times out after that. I do not know about the rest of your question. But about the above, note that you can change this timeout (make it shorter), as indicated here : http://tomcat.apache.org/tomcat-8.5-doc/config/http.html#Standard_Implementation --> connectionTimeout In current WWW circumstances, I cannot really think of any normal scenario in wich a legitimate client would open a connection to a webserver, and then wait more than a couple of seconds before sending a first valid request line. The blocking seems to happen while waiting for the http method name. I looked up RFC 2616 and byte zero is as far as I understand not a legal character for the http method name which are GET, PUT and so on and extension token which is defined as token which is defined as all characters excluding 0-31 and 127. So why doesn't tomcat trash the connection when it detects an invalid http method name? Is this behaviour just a super tolerant implementation? Bug or feature? I'm curious to know the background of this behaviour/implementation! With kind regards Thomas - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Question regarding parseRequestLine
Hi, I noticed that I can block tomcat 8 by opening 200 connection to the http 1.1 connector and send 512 bytes of zero in each connection. Tomcat 8 seems to block in parseRequestLine() method for 20 seconds (connectionTimeout) and times out after that. The blocking seems to happen while waiting for the http method name. I looked up RFC 2616 and byte zero is as far as I understand not a legal character for the http method name which are GET, PUT and so on and extension token which is defined as token which is defined as all characters excluding 0-31 and 127. So why doesn't tomcat trash the connection when it detects an invalid http method name? Is this behaviour just a super tolerant implementation? Bug or feature? I'm curious to know the background of this behaviour/implementation! With kind regards Thomas - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
2 Virual Hosts, 2 SSL Cert's, 2 domains
I wish configure 2 virtual hosts both are different domain names. It's necessary to configure for bout 2 different ssl certificates. It seems like with current server.xml structure it is only one way: create 2 Connectors on 2 different PORT's, which it seems hit by overall server performance. Whether it possible do it at a single IP address? protocol="org.apache.coyote.http11.Http11Nio2Protocol" maxThreads="350" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile=".../keyHere.key" keystorePass="secret"/> Any ideas, any solutions? I use Apache Tomcat/9.0.0-dev. Thanks in advance, S. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Fwd: webservice deployment on tomcat 1.7 with JAVA 1.8 is giving deployment errors
2016-05-10 17:34 GMT+03:00 Christopher Schultz: > > Looks like the real error is: > >> Caused by: java.util.ServiceConfigurationError: >> javax.xml.validation.SchemaFactory: >> > jar:file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomc > at%208.0/webapps/My-Documentum-for-Microsoft-Outlook-WebService-7.3.0/WE > B-INF/lib/xerces-impl.jar!/META-INF/services/javax.xml.validation.Schema > Factory:1: >> Illegal provider-class name: http\:// >> > www.w3.org/2001/XMLSchema=com.sun.org.apache.xerces.internal.jaxp.valida > tion.xs.SchemaFactoryImpl > > Find the place where you have that odd provider class name and change > it to be a legitimate Java class. (Just a guess). > > - -chris The class name "com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaFactoryImpl" is odd. It looks like internal copy of Apache Xerces library as was used by an (old) JRE. It is as if someone is trying to bundle a JRE class within a web application. 1. Redistributing JRE classes in such way is wrong. 2. You can get the real Xerces-J XML parser library here: http://xerces.apache.org/xerces2-j/ http://xerces.apache.org/mirrors.cgi Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Tomcat connector settings
Chris, Thanks for all your patience and help! It's working. Regards, Mike -Original Message- From: Christopher Schultz [mailto:ch...@christopherschultz.net] Sent: Thursday, May 5, 2016 4:50 PM To: Tomcat Users ListSubject: Re: Tomcat connector settings -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Michael, On 5/5/16 3:28 PM, Michael Fox wrote: > Please confirm that to configure the passthrough with an external > HTTPS and an internal HTTP, I would set Apache to listen to SSL on > port 8443 and Tomcat on port 8080, with a line inside the Virtual Host > directive of > > ProxyPass /myapp http://DNS_hostname:8080/myapp ProxyPassReverse > /myapp http://DNS_hostname:8080/myapp If DNS_hostname is the hostname of your Tomcat server, then yes, this is correct. If the web server and Tomcat are on the same host, then you can use "localhost" which should speed things up. I'm guessing that the powers-that-be are using the web server elsewhere, so they'll have to use the IP address (or hostname) of wherever Tomcat is running in the URLs above. Note that there is no requirement to use port 8080 -- you can use anything you'd like -- but 8080 is somewhat traditional and also happens to be the default configuration shipped with Tomcat. > In the Tomcat server.xml file, inside the Host directive, I will place > /> Good. > In the file /etc/httpd/conf/workers.properties, > worker.worker1.host should be set to DNS_hostname and > worker.worker1.port is set to 8080. Nope. You don't need a workers.properties file at all. That's for us you want to use mod_jk and the AJP13 protocol as a proxying protocol. Since you are using HTTP, you don't need any of that stuff. (At worst, it will be confusing, since Tomcat will be listening on :8080 for HTTP connections, not AJP13 connections.) > With this setup, the URL for accessing the Tomcat application via the > Apache server would be https://DNS_hostname/myapp If Tomcat is on DNS_hostname, then this is probably wrong. If DNS_hostname points to the host where the reverse-proxy (web server) is, then you are correct. Here's the ASCII-art picture: Client --- HTTPS:443 ---> web server --- HTTP:8080 --> Tomcat If you wanted to use AJP13 with mod_jk (or mod_proxy_ajp), it would look like this: Client --- HTTPS:443 ---> web server --- AJP13:8009 --> Tomcat (8009 is the default port setting for AJP13 in a Tomcat configuration.) - From the client perspective, the URL should be https://publichostname/myapp. From the web server's perspective, the URL should be http://tomcat.internal.hostname:8080/myapp Hope that helps, - -chris -BEGIN PGP SIGNATURE- Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlcrsg8ACgkQ9CaO5/Lv0PBXzQCfaL/Dy/GqKA/7t0WSex8ZzPb8 iaAAn2TwoF3N89NHiEQEimZ+VjDA4Y4+ =DMoV -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Fwd: webservice deployment on tomcat 1.7 with JAVA 1.8 is giving deployment errors
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Vikas, On 5/10/16 5:13 AM, Vikas Sharma wrote: > -- Forwarded message -- From: Vikas Sharma >Date: Tue, May 10, 2016 at 2:39 PM Subject: > webservice deployment on tomcat 1.7 with JAVA 1.8 is giving > deployment errors To: users@tomcat.apache.org > > > 10-May-2016 14:28:16.717 SEVERE [localhost-startStop-1] > org.apache.catalina.core.StandardContext.listenerStart Exception > sending context initialized event to listener instance of class > com.invisiblecrm.smartfolder.core.ws.ServiceLifeCycleServlet > javax.xml.validation.SchemaFactoryConfigurationError: Provider for > class javax.xml.validation.SchemaFactory cannot be created at > javax.xml.validation.SchemaFactoryFinder.findServiceProvider(Unknown > > Source) > at javax.xml.validation.SchemaFactoryFinder._newFactory(Unknown > Source) at > javax.xml.validation.SchemaFactoryFinder.newFactory(Unknown > Source) at javax.xml.validation.SchemaFactory.newInstance(Unknown > Source) at > com.invisiblecrm.smartfolder.dfs.config.SfDfsConfigurationManagerImpl. (SfDfsConfigurationManagerImpl.java:42) > > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Unknown Source) at > com.invisiblecrm.smartfolder.core.config.SfConfigurationManager.getIns tance(SfConfigurationManager.java:89) > > at > com.invisiblecrm.smartfolder.core.ws.ServiceLifeCycleServlet.contextIn itialized(ServiceLifeCycleServlet.java:97) > > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext .java:4811) > > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext .java:5251) > > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) > at > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.j ava:1408) > > at > org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.j ava:1398) > > at java.util.concurrent.FutureTask.run(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source) at > java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) Caused by: > java.util.ServiceConfigurationError: > javax.xml.validation.SchemaFactory: > jar:file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/To mcat%208.0/webapps/My-Documentum-for-Microsoft-Outlook-WebService-7.3.0/ WEB-INF/lib/xerces-impl.jar!/META-INF/services/javax.xml.validation.Sche maFactory:1: > > Illegal provider-class name: http\:// > www.w3.org/2001/XMLSchema=com.sun.org.apache.xerces.internal.jaxp.vali dation.xs.SchemaFactoryImpl > > at java.util.ServiceLoader.fail(Unknown Source) > at java.util.ServiceLoader.fail(Unknown Source) at > java.util.ServiceLoader.parseLine(Unknown Source) at > java.util.ServiceLoader.parse(Unknown Source) at > java.util.ServiceLoader.access$200(Unknown Source) at > java.util.ServiceLoader$LazyIterator.hasNextService(Unknown > Source) at java.util.ServiceLoader$LazyIterator.hasNext(Unknown > Source) at java.util.ServiceLoader$1.hasNext(Unknown Source) at > javax.xml.validation.SchemaFactoryFinder$2.run(Unknown Source) at > javax.xml.validation.SchemaFactoryFinder$2.run(Unknown Source) at > java.security.AccessController.doPrivileged(Native Method) ... 18 > more > > 10-May-2016 14:28:35.672 SEVERE [localhost-startStop-1] > org.apache.catalina.core.StandardContext.listenerStart Exception > sending context initialized event to listener instance of class > com.invisiblecrm.smartfolder.core.ws.ServiceLifeCycleServlet > javax.xml.validation.SchemaFactoryConfigurationError: Provider for > class javax.xml.validation.SchemaFactory cannot be created at > javax.xml.validation.SchemaFactoryFinder.findServiceProvider(Unknown > > Source) > at javax.xml.validation.SchemaFactoryFinder._newFactory(Unknown > Source) at > javax.xml.validation.SchemaFactoryFinder.newFactory(Unknown > Source) at javax.xml.validation.SchemaFactory.newInstance(Unknown > Source) at > com.invisiblecrm.smartfolder.dfs.config.SfDfsConfigurationManagerImpl. (SfDfsConfigurationManagerImpl.java:42) > > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Unknown Source) at > com.invisiblecrm.smartfolder.core.config.SfConfigurationManager.getIns tance(SfConfigurationManager.java:89) > > at > com.invisiblecrm.smartfolder.core.ws.ServiceLifeCycleServlet.contextIn itialized(ServiceLifeCycleServlet.java:97) > > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext .java:4811) > > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext .java:5251) > > at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase. java:725) > > at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:70 1) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) > > at >
Fwd: webservice deployment on tomcat 1.7 with JAVA 1.8 is giving deployment errors
-- Forwarded message -- From: Vikas SharmaDate: Tue, May 10, 2016 at 2:39 PM Subject: webservice deployment on tomcat 1.7 with JAVA 1.8 is giving deployment errors To: users@tomcat.apache.org 10-May-2016 14:28:16.717 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class com.invisiblecrm.smartfolder.core.ws.ServiceLifeCycleServlet javax.xml.validation.SchemaFactoryConfigurationError: Provider for class javax.xml.validation.SchemaFactory cannot be created at javax.xml.validation.SchemaFactoryFinder.findServiceProvider(Unknown Source) at javax.xml.validation.SchemaFactoryFinder._newFactory(Unknown Source) at javax.xml.validation.SchemaFactoryFinder.newFactory(Unknown Source) at javax.xml.validation.SchemaFactory.newInstance(Unknown Source) at com.invisiblecrm.smartfolder.dfs.config.SfDfsConfigurationManagerImpl.(SfDfsConfigurationManagerImpl.java:42) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.invisiblecrm.smartfolder.core.config.SfConfigurationManager.getInstance(SfConfigurationManager.java:89) at com.invisiblecrm.smartfolder.core.ws.ServiceLifeCycleServlet.contextInitialized(ServiceLifeCycleServlet.java:97) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4811) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5251) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.util.ServiceConfigurationError: javax.xml.validation.SchemaFactory: jar:file:/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Tomcat%208.0/webapps/My-Documentum-for-Microsoft-Outlook-WebService-7.3.0/WEB-INF/lib/xerces-impl.jar!/META-INF/services/javax.xml.validation.SchemaFactory:1: Illegal provider-class name: http\:// www.w3.org/2001/XMLSchema=com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaFactoryImpl at java.util.ServiceLoader.fail(Unknown Source) at java.util.ServiceLoader.fail(Unknown Source) at java.util.ServiceLoader.parseLine(Unknown Source) at java.util.ServiceLoader.parse(Unknown Source) at java.util.ServiceLoader.access$200(Unknown Source) at java.util.ServiceLoader$LazyIterator.hasNextService(Unknown Source) at java.util.ServiceLoader$LazyIterator.hasNext(Unknown Source) at java.util.ServiceLoader$1.hasNext(Unknown Source) at javax.xml.validation.SchemaFactoryFinder$2.run(Unknown Source) at javax.xml.validation.SchemaFactoryFinder$2.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) ... 18 more 10-May-2016 14:28:35.672 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStart Exception sending context initialized event to listener instance of class com.invisiblecrm.smartfolder.core.ws.ServiceLifeCycleServlet javax.xml.validation.SchemaFactoryConfigurationError: Provider for class javax.xml.validation.SchemaFactory cannot be created at javax.xml.validation.SchemaFactoryFinder.findServiceProvider(Unknown Source) at javax.xml.validation.SchemaFactoryFinder._newFactory(Unknown Source) at javax.xml.validation.SchemaFactoryFinder.newFactory(Unknown Source) at javax.xml.validation.SchemaFactory.newInstance(Unknown Source) at com.invisiblecrm.smartfolder.dfs.config.SfDfsConfigurationManagerImpl.(SfDfsConfigurationManagerImpl.java:42) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.invisiblecrm.smartfolder.core.config.SfConfigurationManager.getInstance(SfConfigurationManager.java:89) at com.invisiblecrm.smartfolder.core.ws.ServiceLifeCycleServlet.contextInitialized(ServiceLifeCycleServlet.java:97) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4811) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5251) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at