Hi, I'm trying to develop a BPEL process with fault handling. I have a DNS web service wich send a fault message when cannot resolve an URL. The wsdl from this service is this:<?xml version="1.0" encoding="UTF-8"?> | <wsdl:definitions targetNamespace="http://dns" | xmlns:apachesoap="http://xml.apache.org/xml-soap" | xmlns:impl="http://dns" xmlns:intf="http://dns" | xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" | xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" | xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | <!--WSDL created by Apache Axis version: 1.3 | Built on Oct 05, 2005 (05:23:37 EDT)--> | <wsdl:types> | <schema elementFormDefault="qualified" | targetNamespace="http://dns" xmlns="http://www.w3.org/2001/XMLSchema"> | <element name="getIPByURL"> | <complexType> | <sequence> | <element name="request" type="impl:DNSRequestData"/> | </sequence> | </complexType> | </element> | <complexType name="DNSRequestData"> | <sequence> | <element name="URL" nillable="true" type="xsd:string"/> | </sequence> | </complexType> | <element name="getIPByURLResponse"> | <complexType> | <sequence> | <element name="getIPByURLReturn" type="impl:DNSResponseData"/> | </sequence> | </complexType> | </element> | <complexType name="DNSResponseData"> | <sequence> | <element name="IP" nillable="true" type="xsd:string"/> | </sequence> | </complexType> | <complexType name="DNSFault"> | <sequence> | <element name="MESSAGE" nillable="true" type="xsd:string"/> | </sequence> | </complexType> | <element name="fault" type="impl:DNSFault"/> | </schema> | </wsdl:types> | | <wsdl:message name="getIPByURLRequest"> | | <wsdl:part element="impl:getIPByURL" name="parameters"/> | | </wsdl:message> | | <wsdl:message name="DNSFault"> | | <wsdl:part element="impl:fault" name="fault"/> | | </wsdl:message> | | <wsdl:message name="getIPByURLResponse"> | | <wsdl:part element="impl:getIPByURLResponse" name="parameters"/> | | </wsdl:message> | | <wsdl:portType name="DNS"> | | <wsdl:operation name="getIPByURL"> | | <wsdl:input message="impl:getIPByURLRequest" name="getIPByURLRequest"/> | | <wsdl:output message="impl:getIPByURLResponse" name="getIPByURLResponse"/> | | <wsdl:fault message="impl:DNSFault" name="DNSFault"/> | | </wsdl:operation> | | </wsdl:portType> | | <wsdl:binding name="DNSSoapBinding" type="impl:DNS"> | | <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | | <wsdl:operation name="getIPByURL"> | | <wsdlsoap:operation soapAction=""/> | | <wsdl:input name="getIPByURLRequest"> | | <wsdlsoap:body use="literal"/> | | </wsdl:input> | | <wsdl:output name="getIPByURLResponse"> | | <wsdlsoap:body use="literal"/> | | </wsdl:output> | | <wsdl:fault name="DNSFault"> | | <wsdlsoap:fault name="DNSFault" use="literal"/> | | </wsdl:fault> | | </wsdl:operation> | | </wsdl:binding> | | <wsdl:service name="DNSService"> | | <wsdl:port binding="impl:DNSSoapBinding" name="DNS"> | | <wsdlsoap:address location="http://localhost:4040/DNSWebService/services/DNS"/> | | </wsdl:port> | | </wsdl:service> | | </wsdl:definitions> | | In the BPEL code I have this:<bpws:faultHandlers> | <bpws:catch faultName="ns1:DNSFault"> | <bpws:sequence name="HiddenSequence"> | <bpws:assign name="LoadErrorMessage" validate="no"> | <bpws:copy> | <bpws:from>'Error in Service'</bpws:from> | <bpws:to>$output.outputparam/tns:City</bpws:to> | </bpws:copy> | <bpws:copy> | <bpws:from>'Error in Service'</bpws:from> | <bpws:to>$output.outputparam/tns:Country</bpws:to> | </bpws:copy> | </bpws:assign> | <bpws:reply name="SendErrorMessage" operation="getURLInfo" partnerLink="client" portType="tns:BPELService" variable="output"/> | </bpws:sequence> | </bpws:catch> | </bpws:faultHandlers> The proces is deployed and works well when there is no fault, but when the DNS service send a fault message, I got this: anonymous wrote : 2007-11-07 12:14:18,234 DEBUG [org.jbpm.bpel.integration.jms.StartListener] caught exception while passing control to process, searching for handler | org.jbpm.bpel.BpelException: no wsdl fault matches the contents of the soap detail element: [EMAIL PROTECTED]: null]] | at org.jbpm.bpel.integration.client.SoapClient.readFault(SoapClient.java:497) | at org.jbpm.bpel.integration.client.SoapClient.call(SoapClient.java:115) | at org.jbpm.bpel.integration.jms.JmsIntegrationService.invoke(JmsIntegrationService.java:242) | at org.jbpm.bpel.graph.basic.Invoke.execute(Invoke.java:46) | at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) | at org.jbpm.graph.def.Transition.take(Transition.java:151) | at org.jbpm.graph.def.Node.leave(Node.java:393) | at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:184) | at org.jbpm.bpel.graph.basic.Assign.execute(Assign.java:55) | at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) | at org.jbpm.graph.def.Transition.take(Transition.java:151) | at org.jbpm.graph.def.Node.leave(Node.java:393) | at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:184) | at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:66) | at org.jbpm.bpel.graph.basic.Receive.accept(Receive.java:81) | 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.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) | at org.jbpm.bpel.graph.basic.Receive$$EnhancerByCGLIB$$9222be5b.accept() | at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:100) | at org.jbpm.bpel.graph.struct.Sequence.accept(Sequence.java:104) | 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.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) | at org.jbpm.bpel.graph.def.Activity$$EnhancerByCGLIB$$9e9c8226.accept() | at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:54) | at org.jbpm.bpel.graph.def.BpelDefinition.messageReceived(BpelDefinition.java:111) | at org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:124) | at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:696) | at java.lang.Thread.run(Thread.java:595) | 2007-11-07 12:14:18,234 ERROR [org.jbpm.bpel.integration.jms.StartListener] could not start process instance | org.jbpm.bpel.BpelException: no wsdl fault matches the contents of the soap detail element: [EMAIL PROTECTED]: null]] | at org.jbpm.bpel.integration.client.SoapClient.readFault(SoapClient.java:497) | at org.jbpm.bpel.integration.client.SoapClient.call(SoapClient.java:115) | at org.jbpm.bpel.integration.jms.JmsIntegrationService.invoke(JmsIntegrationService.java:242) | at org.jbpm.bpel.graph.basic.Invoke.execute(Invoke.java:46) | at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) | at org.jbpm.graph.def.Transition.take(Transition.java:151) | at org.jbpm.graph.def.Node.leave(Node.java:393) | at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:184) | at org.jbpm.bpel.graph.basic.Assign.execute(Assign.java:55) | at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:105) | at org.jbpm.graph.def.Transition.take(Transition.java:151) | at org.jbpm.graph.def.Node.leave(Node.java:393) | at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:184) | at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:66) | at org.jbpm.bpel.graph.basic.Receive.accept(Receive.java:81) | 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.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) | at org.jbpm.bpel.graph.basic.Receive$$EnhancerByCGLIB$$9222be5b.accept() | at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:100) | at org.jbpm.bpel.graph.struct.Sequence.accept(Sequence.java:104) | 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.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185) | at org.jbpm.bpel.graph.def.Activity$$EnhancerByCGLIB$$9e9c8226.accept() | at org.jbpm.bpel.graph.struct.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:54) | at org.jbpm.bpel.graph.def.BpelDefinition.messageReceived(BpelDefinition.java:111) | at org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:124) | at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:696) | at java.lang.Thread.run(Thread.java:595) The fault message that I receive is this: anonymous wrote : <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:Header/> | <soapenv:Body> | <env:Fault xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'> | soapenv:Server.generalException | | | <ns1:exceptionName xmlns:ns1='http://xml.apache.org/axis/'>dns.DNSFault</ns1:exceptionName> | <ns2:hostname xmlns:ns2='http://xml.apache.org/axis/'>medea</ns2:hostname> | | </env:Fault></soapenv:Body></soapenv:Envelope> I'm using the JBoss AS 4.05 and the BPEL engine jbpm-bpel.1.1.Beta3. To develop the DNS web service I use the Eclipse WTP 3.2 version. I think that the fault message is not correct, but I don't know well what kind of fault messages expects the bpel engine. Any ideas??
Thank you all and sorry for the long post Agus View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4102479#4102479 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4102479 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
