Author: gnodet Date: Tue Feb 6 06:53:57 2007 New Revision: 504169 URL: http://svn.apache.org/viewvc?view=rev&rev=504169 Log: BPEL faults are not handled
Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/DocLitMapper.java incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/JbiWsdl11WrapperMapper.java incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/Mapper.java incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java?view=diff&rev=504169&r1=504168&r2=504169 ============================================================================== --- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java (original) +++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConsumer.java Tue Feb 6 06:53:57 2007 @@ -99,14 +99,14 @@ if (!isTwoWay) { InOnly inonly = ((InOnly) jbiMex); NormalizedMessage nmsg = inonly.createMessage(); - mapper.toNMS(nmsg,odeMex.getRequest(), odeMex.getOperation().getInput().getMessage()); + mapper.toNMS(nmsg,odeMex.getRequest(), odeMex.getOperation().getInput().getMessage(), null); inonly.setInMessage(nmsg); _ode.getChannel().send(inonly); odeMex.replyOneWayOk(); } else { InOut inout = (InOut) jbiMex; NormalizedMessage nmsg = inout.createMessage(); - mapper.toNMS(nmsg,odeMex.getRequest(), odeMex.getOperation().getInput().getMessage()); + mapper.toNMS(nmsg,odeMex.getRequest(), odeMex.getOperation().getInput().getMessage(), null); inout.setInMessage(nmsg); _ode.getChannel().send(inout); _outstandingExchanges.put(inout.getExchangeId(), odeMex Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java?view=diff&rev=504169&r1=504168&r2=504169 ============================================================================== --- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java (original) +++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeService.java Tue Feb 6 06:53:57 2007 @@ -29,6 +29,7 @@ import javax.jbi.messaging.MessagingException; import javax.jbi.messaging.NormalizedMessage; import javax.jbi.servicedesc.ServiceEndpoint; +import javax.xml.namespace.QName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -39,6 +40,7 @@ import org.apache.ode.bpel.iapi.MessageExchange.Status; import org.apache.ode.jbi.msgmap.Mapper; import org.apache.ode.jbi.msgmap.MessageTranslationException; +import org.apache.ode.utils.QNameUtils; import org.w3c.dom.Element; /** @@ -284,7 +286,7 @@ throw new MessageTranslationException(errmsg); } - mapper.toNMS(nmsg, mex.getResponse(), mex.getOperation().getOutput().getMessage()); + mapper.toNMS(nmsg, mex.getResponse(), mex.getOperation().getOutput().getMessage(), null); inout.setOutMessage(nmsg); _ode.getChannel().send(inout); @@ -313,7 +315,9 @@ throw new MessageTranslationException(errmsg); } - mapper.toNMS(flt, mex.getResponse(), mex.getOperation().getOutput().getMessage()); + QName fault = QNameUtils.toQName(mex.getFault()); + javax.wsdl.Fault wsdlFault = mex.getOperation().getFault(fault.getLocalPart()); + mapper.toNMS(flt, mex.getFaultResponse(), wsdlFault != null ? wsdlFault.getMessage() : null, fault); inout.setFault(flt); _ode.getChannel().send(inout); } catch (MessagingException e) { Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/DocLitMapper.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/DocLitMapper.java?view=diff&rev=504169&r1=504168&r2=504169 ============================================================================== --- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/DocLitMapper.java (original) +++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/DocLitMapper.java Tue Feb 6 06:53:57 2007 @@ -75,8 +75,19 @@ } public void toNMS(NormalizedMessage nmsMsg, - org.apache.ode.bpel.iapi.Message odeMsg, Message msgdef) + org.apache.ode.bpel.iapi.Message odeMsg, Message msgdef, QName fault) throws MessagingException, MessageTranslationException { + + // If this is an unkown fault, just return an empty element + // built with the fault name + if (msgdef == null && fault != null) { + Document doc = newDocument(); + Element content = doc.createElementNS(fault.getNamespaceURI(), fault.getLocalPart()); + doc.appendChild(content); + nmsMsg.setContent(new DOMSource(doc)); + return; + } + // For empty messages there is nothing to do. if (msgdef == null || msgdef.getParts().size() == 0) return; Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/JbiWsdl11WrapperMapper.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/JbiWsdl11WrapperMapper.java?view=diff&rev=504169&r1=504168&r2=504169 ============================================================================== --- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/JbiWsdl11WrapperMapper.java (original) +++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/JbiWsdl11WrapperMapper.java Tue Feb 6 06:53:57 2007 @@ -71,7 +71,7 @@ * Convert ODE normalized message to JBI normalized "WSDL 1.1 Wrapper" * format. */ - public void toNMS(NormalizedMessage nmsMsg, Message odeMsg, javax.wsdl.Message msgdef) throws MessagingException { + public void toNMS(NormalizedMessage nmsMsg, Message odeMsg, javax.wsdl.Message msgdef, QName fault) throws MessagingException { if (msgdef == null) throw new NullPointerException("Null MessageDef"); if (odeMsg == null) Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/Mapper.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/Mapper.java?view=diff&rev=504169&r1=504168&r2=504169 ============================================================================== --- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/Mapper.java (original) +++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/Mapper.java Tue Feb 6 06:53:57 2007 @@ -26,6 +26,7 @@ import javax.jbi.messaging.NormalizedMessage; import javax.wsdl.Fault; import javax.wsdl.Operation; +import javax.xml.namespace.QName; import org.apache.ode.bpel.iapi.Message; @@ -54,7 +55,7 @@ * @throws MessagingException * @throws MessageTranslationException */ - void toNMS(NormalizedMessage nmsMsg, Message odeMsg, javax.wsdl.Message msgdef) throws MessagingException, + void toNMS(NormalizedMessage nmsMsg, Message odeMsg, javax.wsdl.Message msgdef, QName fault) throws MessagingException, MessageTranslationException; /** Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java?view=diff&rev=504169&r1=504168&r2=504169 ============================================================================== --- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java (original) +++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/msgmap/ServiceMixMapper.java Tue Feb 6 06:53:57 2007 @@ -114,7 +114,7 @@ } public void toNMS(NormalizedMessage nmsMsg, Message odeMsg, - javax.wsdl.Message msgdef) throws MessagingException, + javax.wsdl.Message msgdef, QName fault) throws MessagingException, MessageTranslationException { // Simple, just pass along the message.