This isn't such a good idea. A webapp acts as the scope for <error-page> entries in its web.xml. This means that if you have an html webapp, you inevitably end up returning html errors to an xml client.

This is then complicated by the fact that some servlet engines change status codes on errors when returning custom error pages:
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10373

This means that you end up sending an html 200 response instead of an soap fault with a 500 error!

Both the html response and the 200 status code are explicitly forbidden in sec 6.2 of the SOAP 1.1 spec, so you've lost interoperability right there.

Cheers,
Baz

Zhaohua Meng wrote:
Hello,

Anybody here successfully integrated Axis to existing web application instead of as a separate one? I cannot deploy services. Following is the command line and the exception. Any idea?

thanks,
Zhaohua

$ java org.apache.axis.client.AdminClient -l"http://localhost:8080/myapp/servlet/AxisServlet"; mytest/deploy.wsdd


[INFO] AdminClient - -Processing file mytest/deploy.wsdd
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (500)Internal Server Error
faultActor: null
faultNode: null
faultDetail:
null: return code: 500
&lt;html&gt;&lt;head&gt;&lt;title&gt;Apache Tomcat/4.1.18 - Error report&lt;/tit
le&gt;&lt;STYLE&gt;&lt;!--H1{font-family : sans-serif,Arial,Tahoma;color : white
;background-color : #0086b2;} H3{font-family : sans-serif,Arial,Tahoma;color : w
hite;background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;col
or : black;background-color : white;} B{color : white;background-color : #0086b2
;} HR{color : #0086b2;} --&gt;&lt;/STYLE&gt; &lt;/head&gt;&lt;body&gt;&lt;h1&gt;
HTTP Status 500 - &lt;/h1&gt;&lt;HR size=&quot;1&quot; noshade&gt;&lt;p&gt;&lt;b
&gt;type&lt;/b&gt; Exception report&lt;/p&gt;&lt;p&gt;&lt;b&gt;message&lt;/b&gt;
&lt;u&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;description&lt;/b&gt; &lt;u&gt;T
he server encountered an internal error () that prevented it from fulfilling thi
s request.&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;exception&lt;/b&gt; &lt;pre&gt;j
avax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:22
3)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:432)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:530)
at java.lang.Thread.run(Thread.java:479)
&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;root cause&lt;/b&gt; &lt;pre&gt;java.lan
g.NoClassDefFoundError
at org.apache.axis.configuration.FileProvider.configureEngine(FileProvid
er.java:210)
at org.apache.axis.AxisEngine.init(AxisEngine.java:188)
at org.apache.axis.AxisEngine.&lt;init&gt;(AxisEngine.java:173)
at org.apache.axis.server.AxisServer.&lt;init&gt;(AxisServer.java:126)
at org.apache.axis.server.DefaultAxisServerFactory.createServer(DefaultA
xisServerFactory.java:152)
at org.apache.axis.server.DefaultAxisServerFactory.getServer(DefaultAxis
ServerFactory.java:116)
at org.apache.axis.server.AxisServer.getServer(AxisServer.java:111)
at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletB
ase.java:221)
at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletB
ase.java:187)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:69
8)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:22
3)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:432)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:386)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:534)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:530)
at java.lang.Thread.run(Thread.java:479)
&lt;/pre&gt;&lt;/p&gt;&lt;HR size=&quot;1&quot; noshade&gt;&lt;h3&gt;Apache Tomc
at/4.1.18&lt;/h3&gt;&lt;/body&gt;&lt;/html&gt;

(500)Internal Server Error
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:626)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:128)

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:182)
at org.apache.axis.client.Call.invokeEngine(Call.java:2376)
at org.apache.axis.client.Call.invoke(Call.java:2365)
at org.apache.axis.client.Call.invoke(Call.java:1490)
at org.apache.axis.client.AdminClient.process(AdminClient.java:319)
at org.apache.axis.client.AdminClient.process(AdminClient.java:298)
at org.apache.axis.client.AdminClient.process(AdminClient.java:305)
at org.apache.axis.client.AdminClient.process(AdminClient.java:256)
at org.apache.axis.client.AdminClient.main(AdminClient.java:341)
[ERROR] AdminClient - -Exception: <(500)Internal Server Error>








Reply via email to