Problems of running muse wrsf example on JBoss

View: New views
6 Messages — Rating Filter:   Alert me  

Problems of running muse wrsf example on JBoss

by SARA1232007 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I've deployed wrsf war on JBoss successfully. But after the wrsf client sent GetResourcePropertyDocumentRequest, JBoss server throws Exception of "non-HTTP request or response" as following:

===============================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: F:\WORK_SOFTWARE_DOC\JBOSS\jboss-5.0.0.GA

  JAVA: D:\Program Files\Java\jdk1.5.0\bin\java

  JAVA_OPTS: -Dprogram.name=run.bat -server -Xms128m -Xmx512m -XX:MaxPermSize=25
6m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Ds
un.rmi.dgc.server.gcInterval=3600000

  CLASSPATH: F:\WORK_SOFTWARE_DOC\JBOSS\jboss-5.0.0.GA\bin\run.jar

===============================================================================

........

11:20:14,703 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.0.GA (build: SVNTag=
JBoss_5_0_0_GA date=200812041714)] Started in 1m:29s:532ms
11:20:19,937 ERROR [[ApacheMuseServlet]] Servlet.service() for servlet ApacheMus
eServlet threw exception
javax.servlet.ServletException: non-HTTP request or response
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:818)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
lter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:235)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
yAssociationValve.java:190)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
e.java:92)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.proce
ss(SecurityContextEstablishmentValve.java:126)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invok
e(SecurityContextEstablishmentValve.java:70)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC
onnectionValve.java:158)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:330)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:828)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:601)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
        at java.lang.Thread.run(Thread.java:595)

I guess this is a problem caused by ApacheMuseServlet.

Hope someone could help me with this.
Thanks.

PS,
Information on client is as following:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
    <soap:Header>
        <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://127.0.0.1:8086/wsrf/services/ServiceGroup</wsa:To>
        <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing">http://docs.oasis-open.org/wsrf/rpw-2/GetResourcePropertyDocument/GetResourcePropertyDocumentRequest</wsa:Action>
        <wsa:MessageID xmlns:wsa="http://www.w3.org/2005/08/addressing">uuid:1450698e-cf7b-2cf7-59f5-f0fd3cbb5477</wsa:MessageID>
        <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
            <wsa:Address>http://www.w3.org/2005/08/addressing/role/anonymous</wsa:Address>
        </wsa:From>
    </soap:Header>
    <soap:Body>
        <wsrf-rp:GetResourcePropertyDocument xmlns:wsrf-rp="http://docs.oasis-open.org/wsrf/rp-2"/>
    </soap:Body>
</soap:Envelope>


Re: Problems of running muse wrsf example on JBoss

by SARA1232007 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

This wsrf war is developed for tomcat and it is successfully deployed and runned on tomact.

Since tomcat need an additional SOAP protocol stack which included in the wsrf war, I guess the problem is that the SOAP protocol stack provided in wsrf war is conflicted with that on JBoss.

My question is:
Can the web service generated by muse platform be portable to the SOAP protocol stack on JBoss? Can I solve the problem by just removing the SOAP stack code provided in muse platform and deploy the war file regenerated on JBoss? Which jar file the muse SOAP protocol stack?

Thanks.

SARA

Re: Problems of running muse wrsf example on JBoss

by Chris Twiner :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Sara

As I mentioned before on these lists Muse does not use SAAJ, only DOM.
There may be jboss related issues with including xerces and xalan
directly in a war, but these have nothing to do with Muse or with any
SOAP stack.

Even with the axis2 platform the interface used is not SAAJ but axiom.

Unfortunately j2ee apps are not generally portable, extra work must go
into each deployment scenario. Child/Parent first classloader issues
and different JDKs can all cause problems, OSGi is pretty much the
only safe option (which of course brings its own issues).

If you can provide a specific example of a problem we can try to help.

cheers,
Chris

On Fri, Mar 13, 2009 at 7:31 AM, SARA1232007 <cyl_axis@...> wrote:

>
> This wsrf war is developed for tomcat and it is successfully deployed and
> runned on tomact.
>
> Since tomcat need an additional SOAP protocol stack which included in the
> wsrf war, I guess the problem is that the SOAP protocol stack provided in
> wsrf war is conflicted with that on JBoss.
>
> My question is:
> Can the web service generated by muse platform be portable to the SOAP
> protocol stack on JBoss? Can I solve the problem by just removing the SOAP
> stack code provided in muse platform and deploy the war file regenerated on
> JBoss? Which jar file the muse SOAP protocol stack?
>
> Thanks.
>
> SARA
> --
> View this message in context: http://www.nabble.com/Problems-of-running-muse-wrsf-example-on-JBoss-tp22471238p22490985.html
> Sent from the Muse - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: muse-dev-unsubscribe@...
> For additional commands, e-mail: muse-dev-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@...
For additional commands, e-mail: muse-dev-help@...


Re: Problems of running muse wrsf example on JBoss

by SARA1232007 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Chris,

this example is what I build using exactly the muse wrsf example.

I decompile the javax.servlet.http.servlet and add some print before where error occurs as following:
public abstract class HttpServlet extends GenericServlet
    implements Serializable
{
... ...

  public void service(ServletRequest req, ServletResponse res)
        throws ServletException, IOException
    {
        HttpServletRequest request;
        HttpServletResponse response;
System.err.println("HttpServlet.service(): req class:"+req.getClass().getName()+"----------------------");

System.err.println("HttpServlet.service():rsp class:"+res.getClass().getName()+"-----------------------");

        try
        {
            request = (HttpServletRequest)req;
            response = (HttpServletResponse)res;
        }
        catch(ClassCastException e)
        {
            throw new ServletException("non-HTTP request or response");
        }
        service(request, response);
    }

}  

After I call the web service operation, I get Message from server as following:

11:41:46,265 ERROR [STDERR] HttpServlet.service(): req class:org.apache.catalina
.connector.RequestFacade----------------------
11:41:46,265 ERROR [STDERR] HttpServlet.service():rsp class:org.apache.catalina.
connector.ResponseFacade-----------------------
11:41:46,265 ERROR [[ApacheMuseServlet]] Servlet.service() for servlet ApacheMus
eServlet threw exception
javax.servlet.ServletException: non-HTTP request or response
        at javax.servlet.http.HttpServlet.service(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
lter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:235)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
yAssociationValve.java:190)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
e.java:92)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.proce
ss(SecurityContextEstablishmentValve.java:126)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invok
e(SecurityContextEstablishmentValve.java:70)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC
onnectionValve.java:158)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:330)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:828)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:601)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
        at java.lang.Thread.run(Thread.java:595)

Hope you could give some help

Re: Problems of running muse wrsf example on JBoss

by Chris Twiner :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thats extremely strange behaviour, and I'm certain that it has nothing
to do with Muse itself.  Muse has no control over the http request
process.

Perhaps you have some filters being used?  Its possible for a filter
to "swap" out the request types, but its a very strange thing to do.

Also a quick bit of googling finds:

http://www.jboss.org/index.html?module=bb&op=viewtopic&t=149044
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4206493

ie. it seems jboss is a bit broke at the moment with the GA and
delegating javax.* packages to the webapp classloader.

Please check that there are no javax.servlet packages within the war.

On Mon, Mar 16, 2009 at 1:53 PM, SARA1232007 <cyl_axis@...> wrote:

>
> Hi Chris,
>
> this example is what I build using exactly the muse wrsf example.
>
> I decompile the javax.servlet.http.servlet and add some print before where
> error occurs as following:
> public abstract class HttpServlet extends GenericServlet
>    implements Serializable
> {
> ... ...
>
>  public void service(ServletRequest req, ServletResponse res)
>        throws ServletException, IOException
>    {
>        HttpServletRequest request;
>        HttpServletResponse response;
> System.err.println("HttpServlet.service(): req
> class:"+req.getClass().getName()+"----------------------");
>
> System.err.println("HttpServlet.service():rsp
> class:"+res.getClass().getName()+"-----------------------");
>
>        try
>        {
>            request = (HttpServletRequest)req;
>            response = (HttpServletResponse)res;
>        }
>        catch(ClassCastException e)
>        {
>            throw new ServletException("non-HTTP request or response");
>        }
>        service(request, response);
>    }
>
> }
>
> After I call the web service operation, I get Message from server as
> following:
>
> 11:41:46,265 ERROR [STDERR] HttpServlet.service(): req
> class:org.apache.catalina
> .connector.RequestFacade----------------------
> 11:41:46,265 ERROR [STDERR] HttpServlet.service():rsp
> class:org.apache.catalina.
> connector.ResponseFacade-----------------------
> 11:41:46,265 ERROR [[ApacheMuseServlet]] Servlet.service() for servlet
> ApacheMus
> eServlet threw exception
> javax.servlet.ServletException: non-HTTP request or response
>        at javax.servlet.http.HttpServlet.service(Unknown Source)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:290)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:206)
>        at
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
> lter.java:96)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> icationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> ilterChain.java:206)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:235)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:191)
>        at
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
> yAssociationValve.java:190)
>        at
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
> e.java:92)
>        at
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.proce
> ss(SecurityContextEstablishmentValve.java:126)
>        at
> org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invok
> e(SecurityContextEstablishmentValve.java:70)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:127)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:102)
>        at
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC
> onnectionValve.java:158)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:109)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> a:330)
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :828)
>        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
> ss(Http11Protocol.java:601)
>        at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
> 7)
>        at java.lang.Thread.run(Thread.java:595)
>
> Hope you could give some help
> --
> View this message in context: http://www.nabble.com/Problems-of-running-muse-wrsf-example-on-JBoss-tp22471238p22537334.html
> Sent from the Muse - Dev mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: muse-dev-unsubscribe@...
> For additional commands, e-mail: muse-dev-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: muse-dev-unsubscribe@...
For additional commands, e-mail: muse-dev-help@...


Re: Problems of running muse wrsf example on JBoss

by SARA1232007 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Chris,

Thanks for your guidiance. I remove the "javax.servlet.*" item from FilteredPackages in jboss-service.xml. Then the wrsf example runs correctly on jboss.4.2.2, but this does not work on jboss.5.0.0(might because of some bugs there).

Cheers,
Sara