[JBossWS] - Problem generating SOAPFaults
by bcguitar33
Hi there,
I've written a simple skeleton web service to generate. Right now I'm just trying to test such that proper input returns an "OK" value and improper input (such as non-matching XML tags) is replied to with a fault.
My service replies correctly when the correct input is given, but when a bad SOAP message is sent, such as a typo in an opening tag but not a closing, the client gets no reply and the server logs an exception a la:
15:21:29,103 ERROR [STDERR] [Fatal Error] :4:60: The end-tag for element type "CustomerID" must end with a '>' delimiter.
15:21:29,104 ERROR [SOAPFaultExceptionHelper] SOAP request exception
java.io.IOException: org.xml.sax.SAXParseException: The end-tag for element type "CustomerID" must end with a '>' delimiter.
at org.jboss.util.xml.DOMUtils.parse(DOMUtils.java:110)
at org.jboss.ws.soap.MessageFactoryImpl.createSOAPEnvelope(MessageFactoryImpl.java:238)
at org.jboss.ws.soap.MessageFactoryImpl.createMessageInternal(MessageFactoryImpl.java:227)
at org.jboss.ws.soap.MessageFactoryImpl.createMessage(MessageFactoryImpl.java:157)
at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:215)
at org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
15:21:29,105 ERROR [SOAPFaultExceptionHelper] Error creating SOAPFault message
org.jboss.ws.WSException: Cannot obtain NamespaceRegistry, because there is no SOAPMessage associated with this context
at org.jboss.ws.soap.SOAPMessageContextImpl.getNamespaceRegistry(SOAPMessageContextImpl.java:140)
at org.jboss.ws.soap.SOAPMessageContextImpl.getSerializationContext(SOAPMessageContextImpl.java:130)
at org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper.toSOAPMessage(SOAPFaultExceptionHelper.java:223)
at org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper.exceptionToFaultMessage(SOAPFaultExceptionHelper.java:177)
at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:248)
at org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
15:21:29,107 ERROR [AbstractServlet] Error processing web service request
javax.xml.rpc.JAXRPCException: Cannot create SOAPFault message for: javax.xml.rpc.soap.SOAPFaultException: java.io.IOException: org.xml.sax.SAXParseException: The end-tag for element type "CustomerID" must end with a '>' delimiter.
at org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper.exceptionToFaultMessage(SOAPFaultExceptionHelper.java:183)
at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:248)
at org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
15:21:29,109 ERROR [[SVAEndpoint]] Servlet.service() for servlet SVAEndpoint threw exception
javax.xml.rpc.JAXRPCException: Cannot create SOAPFault message for: javax.xml.rpc.soap.SOAPFaultException: java.io.IOException: org.xml.sax.SAXParseException: The end-tag for element type "CustomerID" must end with a '>' delimiter.
at org.jboss.ws.jaxrpc.SOAPFaultExceptionHelper.exceptionToFaultMessage(SOAPFaultExceptionHelper.java:183)
at org.jboss.ws.server.ServiceEndpoint.handleRequest(ServiceEndpoint.java:248)
at org.jboss.ws.server.ServiceEndpointServlet.doPost(ServiceEndpointServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
I'd appreciate any input as to what could be causing this...Thank you very much!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4008491#4008491
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4008491
19 years, 2 months
[JNDI/Naming/Network] - JNDI entries not in web.xml/jboss-web.xml/ejb-jar.xml
by Dynapen
For the new application I am working on, my office is wanting to test using JBoss for the development environment and then using Websphere (which is the current platform) for testing and production.
Currently, becuase of other problems with development teams, the office made a decision to put all entries that normally would have been based off of a property file into the JNDI. Currently this are getting configured at the WebSphere server level, and are handled outside of the code base.
For doing the development in JBoss using the same requirement of the JNDI replacing property files, I have been trying to figure out how to create new JNDI entires for simple objects, without putting them into the deployed application. Many of these entries need to be shared across an entire EAR file, or multiple applications. Putting them in the WAR would seem to defeat that purpose.
Becuase not all of these entires ( and actually very few) are actually related to the EJB, I don't want to put them in the EJB files.
Is there a way to create system/JVM wide JNDI entries without having them configured inside a deployed application? Is there a .xml file I can drop somewhere that can handle this?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4008481#4008481
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4008481
19 years, 2 months
[JBossWS] - Error when invoking Webservice deployed in Jboss 4.0.3
by mpardeshi
Hi,
I downloaded the jbossws-1.0.4.GA and deployed one sample (jsr109pojo) in Jboss 4.0.3. When I hit this URL: http://localhost:8080/ws4ee/services , I do see the deployed service as:
And now... Some Services
jaxrpc-samples-jsr109pojo-rpc.war#TestService/JaxRpcTestServicePort (wsdl)
echoSimpleUserType
| echoString
|
|
| However I get an exception when I try to access the service from a standalone java client. I have tried a lot of options but in vain.
| Here is my client code:
|
|
| | ServiceFactoryImpl factory = new ServiceFactoryImpl();
| | URL wsdlURL = new File("resources/jaxrpc/samples/jsr109pojo/rpclit//WEB-INF/wsdl/TestService.wsdl").toURL();
| | URL mappingURL = new File("resources/jaxrpc/samples/jsr109pojo/rpclit/WEB-INF/jaxrpc-mapping.xml").toURL();
| | QName qname = new QName("http://org.jboss.ws/samples/jsr109pojo", "TestService");
| | Service service = factory.createService(wsdlURL, qname, mappingURL);
| | port = (JaxRpcTestService)service.getPort(JaxRpcTestService.class);
| | ((Stub)port)._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, "http://" + "SECEMPARDESM" + ":8080/jaxrpc-samples-jsr109pojo-rpc");
| | port.echoString("test", "test");
|
|
| And here is the exception I get when I call port.echoString("test", "test"); above:
|
|
| Exception in thread "main" java.lang.NoSuchMethodError: org.jboss.remoting.Client.<init>(Lorg/jboss/remoting/InvokerLocator;Ljava/lang/String;Ljava/util/Map;)V
| | at org.jboss.ws.soap.SOAPConnectionImpl.createRemotingClient(SOAPConnectionImpl.java:205)
| | at org.jboss.ws.soap.SOAPConnectionImpl.callInternal(SOAPConnectionImpl.java:149)
| | at org.jboss.ws.soap.SOAPConnectionImpl.call(SOAPConnectionImpl.java:92)
| | at org.jboss.ws.common.CommonClient.invoke(CommonClient.java:294)
| | at org.jboss.ws.jaxrpc.CallImpl.invokeInternal(CallImpl.java:560)
| | at org.jboss.ws.jaxrpc.CallImpl.invoke(CallImpl.java:338)
| | at org.jboss.ws.jaxrpc.CallProxy.invoke(CallProxy.java:148)
| | at $Proxy0.echoString(Unknown Source)
| | at org.jboss.test.ws.jaxws.samples.jsr181pojo.RpcJSETestCase.main(JSR181WebServiceJSETestCase.java:103)
| |
|
| I have followed exactly the same steps as in the WS documentation. Can anyone please let me know what am I missing?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4008479#4008479
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4008479
19 years, 2 months