Using TcpMon this is the request: POST /muse/services/InitPort HTTP/1.0
Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.2.1 Host: 127.0.0.1:8081 Cache-Control: no-cache Pragma: no-cache SOAPAction: "" Content-Length: 829 Authorization: Basic d3NkbXVzZXJ0b206d3NkbXRvbWFzMw== <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fs="http://tomas.org/wsdm/init" xmlns:wsrp="http://docs.oasis-open.org/wsrf/2004/06/wsrf-WS-ResourceProperties-1.2-draft-01.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"> <soapenv:Header> <wsa:To soapenv:mustUnderstand="1"> http://adapt20:8081/muse/services/InitPort</wsa:To> <wsa:Action soapenv:mustUnderstand="1"> http://tomas.org/wsdm/init/InitPortType/Create</wsa:Action> <fs:ResourceIdentifier soapenv:mustUnderstand="1"> Init</fs:ResourceIdentifier> </soapenv:Header> <soapenv:Body> <CreateRequestType xmlns="http://tomas.org/wsdm/init"> gdm</CreateRequestType> </soapenv:Body> </soapenv:Envelope> And this is the response: HTTP/1.1 500 Error Interno del Servidor Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=utf-8 Date: Wed, 12 Apr 2006 08:42:22 GMT Connection: close <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server</faultcode> <faultstring>Internal server error occurred.</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope> As you can see, there's no reference to my custom fault, but in the catalina.out file. Maybe a Tomcat configuration problem? On 4/11/06, José Antonio Sánchez <[EMAIL PROTECTED]> wrote: > I don't have the code right now so I cannot assure it, but I used > Tcpmon all the way to do the test and it returned something like: > > AxisFault > faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server > faultSubcode: > faultString: Internal server error occurred. > faultActor: > faultNode: > faultDetail: > > Without a faultDetail, thats for sure. Anyway, tomorrow I'll send the > complete request and response. > > On 4/11/06, Campana Jr., Salvatore J <[EMAIL PROTECTED]> wrote: > > Jose, > > > > The stack trace you sent seems to be coming from an Axis client....I'm not > > sure what their issue is...I would examine the returned fault obejct in the > > debugger to see if it contains the message... > > > > The other thing you could do is setup Axis's TCPMon as a proxy and view the > > fault on the wire.... > > > > As for the server, it seems as though the fault is being thrown correctly, > > that is why you see it in the log output... > > > > -S > > > > -----Original Message----- > > From: José Antonio Sánchez [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, April 11, 2006 12:07 PM > > To: muse-user@ws.apache.org; wsrf-user@ws.apache.org > > Subject: Throwing Faults > > > > Hello, I have implemented service and I want an operation to throw a fault > > when something happens. I have followed the filesystem example with the > > DeviceBusyFault exception and I have added that to my operation. I had the > > service generated without faults, but a new ant generate created the > > corresponding ServiceBlacklistedFaultException.java file (my custom fault) > > and added the throws ServiceBlacklistedFaultException to the > > AbstractService file. I manually added the throws > > ServiceBlacklistedFaultException to my Service file with the following: > > The method in fact is a Resource creation method. It looks in a file for a > > list of blacklisted ids and throws a fault if the requested resource is in > > the blacklist: > > > > public org.tomas.wsdm.init.CreateResponseTypeDocument create( > > org.tomas.wsdm.init.CreateRequestTypeDocument requestDoc ) throws > > ServiceBlacklistedFaultException > > > > { > > > > org.tomas.wsdm.init.CreateResponseTypeDocument responseDocument = > > org.tomas.wsdm.init.CreateResponseTypeDocument.Factory.newInstance(); > > > > InitPortHome myResourceHome = (InitPortHome) > > this.getResourceContext().getResourceHome(); > > > > > > > > > > > > Vector blackList = readBlacklist(); > > > > String createId = requestDoc.getCreateRequestType(); > > > > > > > > if (!blackList.contains(createId)) > > > > { > > > > try { > > > > > > myResourceHome.createResource(createId); > > > > } catch (Exception e) { > > > > // TODO Auto-generated catch block > > > > e.printStackTrace(); > > > > } > > > > } > > > > else { > > > > throw new > > ServiceBlacklistedFaultException(getNamespaceSet(),"Service > > /etc/init.d/"+createId+" is blacklisted"); > > > > } > > > > > > > > Iterator it = > > myResourceHome.getResourceMap().keySet().iterator(); > > > > System.out.println("Esta es la lista de recursos:"); > > > > System.out.println(it.next().toString()); > > > > while (it.hasNext()) > > > > System.out.println(it.next().toString()); > > > > > > > > /** > > > > * TODO implement method and populate the response object > > > > * > > > > * For more information on working-with/populating the > > XmlBean-generated types. > > > > * > > > > * See > > http://xmlbeans.apache.org/documentation/tutorial_getstarted.html#Results+of+Compiling+the+Schema > > > > */ > > > > return responseDocument; > > > > } > > > > I've compiled and deployed it correctly, but when I try to create a > > blacklisted resource, instead of my custom fault I get a general > > ServerFault like this: > > > > AxisFault > > faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server > > faultSubcode: > > faultString: Internal server error occurred. > > faultActor: > > faultNode: > > faultDetail: > > {http://xml.apache.org/axis/}stackTrace:Internal server error > > occurred. > > at > > org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) > > at > > org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) > > at > > org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) > > at > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633) > > at > > com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:719) > > at > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685) > > at > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368) > > at > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834) > > at > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) > > at > > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148) > > at > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242) > > at javax.xml.parsers.SAXParser.parse(SAXParser.java:375) > > at > > org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) > > at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) > > at org.apache.axis.Message.getSOAPEnvelope(Message.java:424) > > at > > org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) > > at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) > > at org.apache.axis.client.Call.invokeEngine(Call.java:2765) > > at org.apache.axis.client.Call.invoke(Call.java:2748) > > at org.apache.axis.client.Call.invoke(Call.java:1902) > > at > > org.tomas.wsdm.init.client.InitResource.create(InitResource.java:60) > > at org.tomas.wsdm.init.client.InitClient.main(InitClient.java:32) > > > > {http://xml.apache.org/axis/}hostname:adapt20 > > > > Internal server error occurred. > > at > > org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221) > > at > > org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128) > > at > > org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) > > at > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633) > > at > > com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:719) > > at > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685) > > at > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368) > > at > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834) > > at > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) > > at > > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148) > > at > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242) > > at javax.xml.parsers.SAXParser.parse(SAXParser.java:375) > > at > > org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) > > at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) > > at org.apache.axis.Message.getSOAPEnvelope(Message.java:424) > > at > > org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) > > at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) > > at org.apache.axis.client.Call.invokeEngine(Call.java:2765) > > at org.apache.axis.client.Call.invoke(Call.java:2748) > > at org.apache.axis.client.Call.invoke(Call.java:1902) > > at > > org.tomas.wsdm.init.client.InitResource.create(InitResource.java:60) > > at org.tomas.wsdm.init.client.InitClient.main(InitClient.java:32) > > > > and I get the following in the catalina.out log: > > > > AxisFault > > faultCode: > > {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException > > faultSubcode: > > faultString: Service /etc/init.d/gdm is blacklisted > > faultActor: > > faultNode: > > faultDetail: > > > > {http://xml.apache.org/axis/}exceptionName:org.tomas.wsdm.init.ServiceBlacklistedFaultException > > {http://xml.apache.org/axis/}stackTrace:Service /etc/init.d/gdm is > > blacklisted > > at > > org.tomas.wsdm.init.InitPortService.create(InitPortService.java:116) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:585) > > at > > org.apache.ws.resource.handler.ResourceHandler.invokeServiceMethod(ResourceHandler.java:534) > > at > > org.apache.ws.resource.handler.ResourceHandler.handleRequest(ResourceHandler.java:174) > > at > > org.apache.ws.resource.handler.axis.ResourceProvider.invoke(ResourceProvider.java:209) > > at > > org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) > > at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) > > at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) > > at > > org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453) > > at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) > > at > > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > > at > > org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > > 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.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:667) > > at > > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > > at > > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > > at > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > > at java.lang.Thread.run(Thread.java:595) > > > > {http://xml.apache.org/axis/}hostname:adapt20 > > > > Service /etc/init.d/gdm is blacklisted > > at > > org.tomas.wsdm.init.InitPortService.create(InitPortService.java:116) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:585) > > at > > org.apache.ws.resource.handler.ResourceHandler.invokeServiceMethod(ResourceHandler.java:534) > > at > > org.apache.ws.resource.handler.ResourceHandler.handleRequest(ResourceHandler.java:174) > > at > > org.apache.ws.resource.handler.axis.ResourceProvider.invoke(ResourceProvider.java:209) > > at > > org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) > > at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) > > at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) > > at > > org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453) > > at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) > > at > > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > > at > > org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > > at > > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > > 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.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:667) > > at > > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > > at > > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > > at > > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > > at java.lang.Thread.run(Thread.java:595) > > > > I don't know why but it seems that the exception is catched instead of > > being thrown, so a general server fault is generated instead of a custom > > fault. > > > > -- > > Saludos. > > José Antonio Sánchez > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > -- > Saludos. > José Antonio Sánchez > -- Saludos. José Antonio Sánchez --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]