marcel_sana
Grünschnabel
Hi,
ich habe ein Problem, welches ich mir nicht erklären kann.
Kurz zur eingesetzten Technik.
App-Server : Weblogic 7
JDK : 1.3
Also, ich habe eine Stateless-SessionBean. Mit servicegen erstelle ich mir anhand des SessenBean einen WebService und beides lade ich als ear auf den Server. In der SessionBean fange ich alle Exceptions die sich so ansammeln auf und werfe eine SOAPFaultException in der ich den Fehler beschreibe und so weiter. Jetzt zu dem Problem.
Auf dem Client kommt meine SOAPFault nicht an sonder eine gecastete vom WLS.
So viel wie ich aus dem Trace lesen kann, wird meine SOAPFaultException in eine EJBException gepackt und diese in eine RemoteException. So kommt das ganze dann zum Client.
An was kann das liegen und wie kann ich dies ändern.
Danke für Eure Hilfe
Viele Grüße
Marcel
Hier der Trace...
<env:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
</env:Header>
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>EJB Exception: ; nested exception is: javax.xml.rpc.soap.SOAPFaultException: Parameter sind nicht vollstandig oder falsch.</faultstring>
<detail>
<bea_fault:stacktrace
xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">
java.rmi.RemoteException: EJB Exception: ; nested exception is: javax.xml.rpc.soap.SOAPFaultException:
Parameter sind nicht vollstandig oder falsch.
javax.xml.rpc.soap.SOAPFaultException: Parameter sind nicht vollstandig oder falsch.
at de.sanacorp.webservice.bestellung.session.WebServiceBestellungSessionBean.defektAbfrage(WebServiceBestellungSessionBean.java:196)
at de.sanacorp.webservice.bestellung.session.WebServiceBestellungSessionBean_i4welk_EOImpl.defektAbfrage(WebServiceBestellungSessionBean_i4welk_EOImpl.java:46)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.webservice.component.slsb.SLSBInvocationHandler.invoke(SLSBInvocationHandler.java:84)
at weblogic.webservice.core.handler.InvokeHandler.handleRequest(InvokeHandler.java:78)
at weblogic.webservice.core.HandlerChain.handleRequest(HandlerChain.java:131)
at weblogic.webservice.core.DefaultOperation.process(DefaultOperation.java:561)
at weblogic.webservice.core.DefaultWebService.invoke(DefaultWebService.java:273)
at weblogic.webservice.server.servlet.ServletSecurityHelper$1.run(ServletSecurityHelper.java:146)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
at weblogic.webservice.server.servlet.ServletSecurityHelper.authenticatedPortInvoke(ServletSecurityHelper.java:143)
at weblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke(WebServiceServlet.java:272)
at weblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.java:384)
at weblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServiceServlet.java:237)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
</bea_fault:stacktrace>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
ich habe ein Problem, welches ich mir nicht erklären kann.
Kurz zur eingesetzten Technik.
App-Server : Weblogic 7
JDK : 1.3
Also, ich habe eine Stateless-SessionBean. Mit servicegen erstelle ich mir anhand des SessenBean einen WebService und beides lade ich als ear auf den Server. In der SessionBean fange ich alle Exceptions die sich so ansammeln auf und werfe eine SOAPFaultException in der ich den Fehler beschreibe und so weiter. Jetzt zu dem Problem.
Auf dem Client kommt meine SOAPFault nicht an sonder eine gecastete vom WLS.
So viel wie ich aus dem Trace lesen kann, wird meine SOAPFaultException in eine EJBException gepackt und diese in eine RemoteException. So kommt das ganze dann zum Client.
An was kann das liegen und wie kann ich dies ändern.
Danke für Eure Hilfe
Viele Grüße
Marcel
Hier der Trace...
<env:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
</env:Header>
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>EJB Exception: ; nested exception is: javax.xml.rpc.soap.SOAPFaultException: Parameter sind nicht vollstandig oder falsch.</faultstring>
<detail>
<bea_fault:stacktrace
xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">
java.rmi.RemoteException: EJB Exception: ; nested exception is: javax.xml.rpc.soap.SOAPFaultException:
Parameter sind nicht vollstandig oder falsch.
javax.xml.rpc.soap.SOAPFaultException: Parameter sind nicht vollstandig oder falsch.
at de.sanacorp.webservice.bestellung.session.WebServiceBestellungSessionBean.defektAbfrage(WebServiceBestellungSessionBean.java:196)
at de.sanacorp.webservice.bestellung.session.WebServiceBestellungSessionBean_i4welk_EOImpl.defektAbfrage(WebServiceBestellungSessionBean_i4welk_EOImpl.java:46)
at java.lang.reflect.Method.invoke(Native Method)
at weblogic.webservice.component.slsb.SLSBInvocationHandler.invoke(SLSBInvocationHandler.java:84)
at weblogic.webservice.core.handler.InvokeHandler.handleRequest(InvokeHandler.java:78)
at weblogic.webservice.core.HandlerChain.handleRequest(HandlerChain.java:131)
at weblogic.webservice.core.DefaultOperation.process(DefaultOperation.java:561)
at weblogic.webservice.core.DefaultWebService.invoke(DefaultWebService.java:273)
at weblogic.webservice.server.servlet.ServletSecurityHelper$1.run(ServletSecurityHelper.java:146)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:821)
at weblogic.webservice.server.servlet.ServletSecurityHelper.authenticatedPortInvoke(ServletSecurityHelper.java:143)
at weblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke(WebServiceServlet.java:272)
at weblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.java:384)
at weblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServiceServlet.java:237)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
</bea_fault:stacktrace>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>