You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2010/04/21 12:04:17 UTC
svn commit: r936239 -
/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java
Author: antelder
Date: Wed Apr 21 10:04:17 2010
New Revision: 936239
URL: http://svn.apache.org/viewvc?rev=936239&view=rev
Log:
Put back code to create a soap fault message from an exception. Was there a reason this got commented out? The build seems to work with it and it gets some of the failing compliance tests working again
Modified:
tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java
Modified: tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java?rev=936239&r1=936238&r2=936239&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java Wed Apr 21 10:04:17 2010
@@ -22,8 +22,13 @@ import java.util.List;
import javax.annotation.Resource;
import javax.wsdl.extensions.soap.SOAPAddress;
+import javax.xml.namespace.QName;
+import javax.xml.soap.Detail;
+import javax.xml.soap.DetailEntry;
+import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPFactory;
+import javax.xml.soap.SOAPFault;
import javax.xml.soap.SOAPMessage;
import javax.xml.ws.Provider;
import javax.xml.ws.ServiceMode;
@@ -37,6 +42,7 @@ import org.apache.tuscany.sca.databindin
import org.apache.tuscany.sca.host.http.ServletHost;
import org.apache.tuscany.sca.interfacedef.InterfaceContract;
import org.apache.tuscany.sca.interfacedef.Operation;
+import org.apache.tuscany.sca.interfacedef.util.FaultException;
import org.apache.tuscany.sca.invocation.InvocationChain;
import org.apache.tuscany.sca.invocation.Message;
import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -150,17 +156,18 @@ public class JAXWSBindingProvider implem
SOAPMessage response = soapMessageFactory.createMessage();
if (responseMsg.isFault()) {
- ServiceRuntimeException e = responseMsg.getBody();
- throw e;
-/*
- SOAPFault fault = response.getSOAPBody().addFault(new QName(response.getSOAPBody().getNamespaceURI(), "Server"), "unknown");
+// ServiceRuntimeException e = responseMsg.getBody();
+// throw e;
+
+ FaultException fe = responseMsg.getBody();
+ SOAPFault fault = response.getSOAPBody().addFault(new QName(response.getSOAPBody().getNamespaceURI(), "Server"), fe.getMessage());
Detail d = fault.addDetail();
DetailEntry de = d.addDetailEntry(fe.getFaultName());
SOAPElement dece = de.addChildElement("message");
if (fe.getMessage() != null) {
dece.addTextNode(fe.getMessage());
}
-*/
+
} else {
Element element = responseMsg.getBody();
response.getSOAPBody().addChildElement(soapFactory.createElement(element));
Re: svn commit: r936239 - /tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java
Posted by Simon Laws <si...@googlemail.com>.
On Wed, Apr 21, 2010 at 11:04 AM, <an...@apache.org> wrote:
> Author: antelder
> Date: Wed Apr 21 10:04:17 2010
> New Revision: 936239
>
> URL: http://svn.apache.org/viewvc?rev=936239&view=rev
> Log:
> Put back code to create a soap fault message from an exception. Was there a reason this got commented out? The build seems to work with it and it gets some of the failing compliance tests working again
>
> Modified:
> tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java
>
> Modified: tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java
> URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java?rev=936239&r1=936238&r2=936239&view=diff
> ==============================================================================
> --- tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java (original)
> +++ tuscany/sca-java-2.x/trunk/modules/binding-ws-runtime-jaxws/src/main/java/org/apache/tuscany/sca/binding/ws/jaxws/JAXWSBindingProvider.java Wed Apr 21 10:04:17 2010
> @@ -22,8 +22,13 @@ import java.util.List;
>
> import javax.annotation.Resource;
> import javax.wsdl.extensions.soap.SOAPAddress;
> +import javax.xml.namespace.QName;
> +import javax.xml.soap.Detail;
> +import javax.xml.soap.DetailEntry;
> +import javax.xml.soap.SOAPElement;
> import javax.xml.soap.SOAPException;
> import javax.xml.soap.SOAPFactory;
> +import javax.xml.soap.SOAPFault;
> import javax.xml.soap.SOAPMessage;
> import javax.xml.ws.Provider;
> import javax.xml.ws.ServiceMode;
> @@ -37,6 +42,7 @@ import org.apache.tuscany.sca.databindin
> import org.apache.tuscany.sca.host.http.ServletHost;
> import org.apache.tuscany.sca.interfacedef.InterfaceContract;
> import org.apache.tuscany.sca.interfacedef.Operation;
> +import org.apache.tuscany.sca.interfacedef.util.FaultException;
> import org.apache.tuscany.sca.invocation.InvocationChain;
> import org.apache.tuscany.sca.invocation.Message;
> import org.apache.tuscany.sca.invocation.MessageFactory;
> @@ -150,17 +156,18 @@ public class JAXWSBindingProvider implem
>
> SOAPMessage response = soapMessageFactory.createMessage();
> if (responseMsg.isFault()) {
> - ServiceRuntimeException e = responseMsg.getBody();
> - throw e;
> -/*
> - SOAPFault fault = response.getSOAPBody().addFault(new QName(response.getSOAPBody().getNamespaceURI(), "Server"), "unknown");
> +// ServiceRuntimeException e = responseMsg.getBody();
> +// throw e;
> +
> + FaultException fe = responseMsg.getBody();
> + SOAPFault fault = response.getSOAPBody().addFault(new QName(response.getSOAPBody().getNamespaceURI(), "Server"), fe.getMessage());
> Detail d = fault.addDetail();
> DetailEntry de = d.addDetailEntry(fe.getFaultName());
> SOAPElement dece = de.addChildElement("message");
> if (fe.getMessage() != null) {
> dece.addTextNode(fe.getMessage());
> }
> -*/
> +
> } else {
> Element element = responseMsg.getBody();
> response.getSOAPBody().addChildElement(soapFactory.createElement(element));
>
>
>
I was getting some exception related failures in the build and the
hack I put in fixed it. Unfortunately I'm having machine problems
today so if this works for you then that's fine. I'll try afresh when
I'm back up and running.
Simon
--
Apache Tuscany committer: tuscany.apache.org
Co-author of a book about Tuscany and SCA: tuscanyinaction.com