Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSFaultExceptionMapper.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java
(original)
+++
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/main/java/org/apache/tuscany/sca/interfacedef/java/jaxws/JAXWSJavaInterfaceProcessor.java
Wed Feb 20 20:11:14 2008
@@ -36,6 +36,8 @@
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
+import org.apache.tuscany.sca.interfacedef.DataType;
+import org.apache.tuscany.sca.interfacedef.FaultExceptionMapper;
import org.apache.tuscany.sca.interfacedef.InvalidInterfaceException;
import org.apache.tuscany.sca.interfacedef.Operation;
import org.apache.tuscany.sca.interfacedef.java.JavaInterface;
@@ -51,6 +53,12 @@
*/
public class JAXWSJavaInterfaceProcessor implements JavaInterfaceVisitor {
private static final String JAXB_DATABINDING =
"javax.xml.bind.JAXBElement";
+ private FaultExceptionMapper faultExceptionMapper;
+
+ public JAXWSJavaInterfaceProcessor(FaultExceptionMapper
faultExceptionMapper) {
+ super();
+ this.faultExceptionMapper = faultExceptionMapper;
+ }
public JAXWSJavaInterfaceProcessor() {
super();
@@ -79,6 +87,7 @@
}
for (Method method : clazz.getMethods()) {
Operation operation = operations.get(method.getName());
+ introspectFaultTypes(operation);
// SOAP binding (doc/lit/wrapped|bare or rpc/lit)
SOAPBinding methodSOAPBinding =
method.getAnnotation(SOAPBinding.class);
@@ -92,7 +101,7 @@
// WebMethod
WebMethod webMethod = method.getAnnotation(WebMethod.class);
if (webMethod == null) {
- return;
+ continue;
}
// Is one way?
@@ -102,7 +111,7 @@
assert method.getReturnType() == void.class;
operation.setNonBlocking(true);
}
-
+
// Handle BARE mapping
if (!operation.isWrapperStyle()) {
for (int i = 0; i < method.getParameterTypes().length; i++) {
@@ -130,7 +139,7 @@
RequestWrapper requestWrapper =
method.getAnnotation(RequestWrapper.class);
ResponseWrapper responseWrapper =
method.getAnnotation(ResponseWrapper.class);
if (requestWrapper == null) {
- return;
+ continue;
}
String ns = getValue(requestWrapper.targetNamespace(), tns);
@@ -159,6 +168,14 @@
inputElements, outputElements);
operation.setWrapper(wrapperInfo);
// operation.setDataBinding(JAXB_DATABINDING); // could be JAXB or
SDO
+
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void introspectFaultTypes(Operation operation) {
+ for (DataType exceptionType : operation.getFaultTypes()) {
+ faultExceptionMapper.introspectFaultDataType(exceptionType);
}
}
Added:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean.java?rev=629687&view=auto
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean.java
(added)
+++
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean.java
Wed Feb 20 20:11:14 2008
@@ -0,0 +1,5 @@
+package org.apache.tuscany.sca.interfacedef.java.jaxws;
+
+public interface Bean<T> {
+ public T getP1();
+}
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean1.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean1.java?rev=629687&view=auto
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean1.java
(added)
+++
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean1.java
Wed Feb 20 20:11:14 2008
@@ -0,0 +1,18 @@
+package org.apache.tuscany.sca.interfacedef.java.jaxws;
+
+public class Bean1 {
+ private String p1;
+ private int p2;
+ public String getP1() {
+ return p1;
+ }
+ public void setP1(String p1) {
+ this.p1 = p1;
+ }
+ public int getP2() {
+ return p2;
+ }
+ public void setP2(int p2) {
+ this.p2 = p2;
+ }
+}
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean1.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean1.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean2.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean2.java?rev=629687&view=auto
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean2.java
(added)
+++
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean2.java
Wed Feb 20 20:11:14 2008
@@ -0,0 +1,18 @@
+package org.apache.tuscany.sca.interfacedef.java.jaxws;
+
+public class Bean2 implements Bean<String>{
+ private String p1;
+ private int p2;
+ public String getP1() {
+ return p1;
+ }
+ public void setP1(String p1) {
+ this.p1 = p1;
+ }
+ public int getP2() {
+ return p2;
+ }
+ public void setP2(int p2) {
+ this.p2 = p2;
+ }
+}
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean2.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/Bean2.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyServiceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyServiceImpl.java?rev=629687&view=auto
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyServiceImpl.java
(added)
+++
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyServiceImpl.java
Wed Feb 20 20:11:14 2008
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.interfacedef.java.jaxws;
+
+import java.util.List;
+
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+/**
+ * @version $Rev$ $Date$
+ */
[EMAIL PROTECTED]
+public class MyServiceImpl {
+
+ @WebMethod
+ public <T extends Bean1> T getBean(T b, Bean2 b2) {
+ return null;
+ }
+
+ @WebMethod
+ public List<? extends Bean1> getBeans() {
+ return null;
+ }
+
+}
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyServiceImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/MyServiceImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified:
incubator/tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceIntrospectorImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceIntrospectorImpl.java?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceIntrospectorImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/interface-java/src/main/java/org/apache/tuscany/sca/interfacedef/java/impl/JavaInterfaceIntrospectorImpl.java
Wed Feb 20 20:11:14 2008
@@ -22,6 +22,7 @@
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
+import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
@@ -67,7 +68,7 @@
public void introspectInterface(JavaInterface javaInterface, Class<?>
clazz) throws InvalidInterfaceException {
javaInterface.setJavaClass(clazz);
-
+
boolean remotable = clazz.isAnnotationPresent(Remotable.class);
javaInterface.setRemotable(remotable);
@@ -90,7 +91,7 @@
extension.visitInterface(javaInterface);
}
}
-
+
private Class<?>[] getActualTypes(Type[] types, Class<?>[] rawTypes,
Map<String, Type> typeBindings) {
Class<?>[] actualTypes = new Class<?>[types.length];
for (int i = 0; i < actualTypes.length; i++) {
@@ -98,7 +99,7 @@
}
return actualTypes;
}
-
+
private Class<?> getActualType(Type type, Class<?> rawType, Map<String,
Type> typeBindings) {
if (type instanceof TypeVariable<?>) {
TypeVariable<?> typeVariable = (TypeVariable<?>)type;
@@ -112,10 +113,10 @@
private <T> List<Operation> getOperations(Class<T> clazz, boolean
remotable, boolean conversational, String ns)
throws InvalidInterfaceException {
-
+
Type[] genericInterfaces = clazz.getGenericInterfaces();
Map<String, Type> typeBindings = new HashMap<String, Type>();
- for (Type genericInterface: genericInterfaces) {
+ for (Type genericInterface : genericInterfaces) {
if (genericInterface instanceof ParameterizedType) {
ParameterizedType parameterizedType =
(ParameterizedType)genericInterface;
TypeVariable<?>[] typeVariables =
((Class<?>)parameterizedType.getRawType()).getTypeParameters();
@@ -125,7 +126,7 @@
}
}
}
-
+
Method[] methods = clazz.getMethods();
List<Operation> operations = new ArrayList<Operation>(methods.length);
Set<String> names = remotable ? new HashSet<String>() : null;
@@ -143,9 +144,11 @@
}
Class<?> returnType = getActualType(method.getGenericReturnType(),
method.getReturnType(), typeBindings);
- Class<?>[] parameterTypes =
getActualTypes(method.getGenericParameterTypes(), method.getParameterTypes(),
typeBindings);
- Class<?>[] faultTypes =
getActualTypes(method.getGenericExceptionTypes(), method.getExceptionTypes(),
typeBindings);
-
+ Class<?>[] parameterTypes =
+ getActualTypes(method.getGenericParameterTypes(),
method.getParameterTypes(), typeBindings);
+ Class<?>[] faultTypes =
+ getActualTypes(method.getGenericExceptionTypes(),
method.getExceptionTypes(), typeBindings);
+
boolean nonBlocking = method.isAnnotationPresent(OneWay.class);
ConversationSequence conversationSequence =
ConversationSequence.CONVERSATION_NONE;
if (method.isAnnotationPresent(EndsConversation.class)) {
@@ -173,9 +176,12 @@
List<DataType> faultDataTypes = new
ArrayList<DataType>(faultTypes.length);
for (Class<?> faultType : faultTypes) {
// Only add checked exceptions
- if (Exception.class.isAssignableFrom(faultType) &&
(!RuntimeException.class.isAssignableFrom(faultType))) {
+ // JAXWS Spec v2.1 section 3.7 says RemoteException should not
be mapped
+ if (Exception.class.isAssignableFrom(faultType) &&
(!RuntimeException.class.isAssignableFrom(faultType))
+ && (!RemoteException.class.isAssignableFrom(faultType))) {
XMLType xmlFaultType = new XMLType(new QName(ns,
faultType.getSimpleName()), null);
- faultDataTypes.add(new
DataTypeImpl<XMLType>(UNKNOWN_DATABINDING, faultType, xmlFaultType));
+ DataType<XMLType> faultDataType = new
DataTypeImpl<XMLType>(faultType, xmlFaultType);
+ faultDataTypes.add(new
DataTypeImpl<DataType>(UNKNOWN_DATABINDING, faultType, faultDataType));
}
}
Modified:
incubator/tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/JavaInterfaceProcessorRegistryImplTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/JavaInterfaceProcessorRegistryImplTestCase.java?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/JavaInterfaceProcessorRegistryImplTestCase.java
(original)
+++
incubator/tuscany/java/sca/modules/interface-java/src/test/java/org/apache/tuscany/sca/interfacedef/java/introspection/impl/JavaInterfaceProcessorRegistryImplTestCase.java
Wed Feb 20 20:11:14 2008
@@ -72,10 +72,10 @@
List<DataType> faultTypes = baseInt.getFaultTypes();
assertEquals(1, faultTypes.size());
- DataType<XMLType> fault0 = faultTypes.get(0);
+ DataType<DataType<XMLType>> fault0 = faultTypes.get(0);
assertEquals(IOException.class, fault0.getPhysical());
element = new
QName("http://impl.introspection.java.interfacedef.sca.tuscany.apache.org/",
"IOException");
- assertEquals(element, fault0.getLogical().getElementName());
+ assertEquals(element,
fault0.getLogical().getLogical().getElementName());
}
public void testUnregister() throws Exception {
Modified:
incubator/tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/interface-wsdl/src/main/java/org/apache/tuscany/sca/interfacedef/wsdl/impl/WSDLOperationIntrospectorImpl.java
Wed Feb 20 20:11:14 2008
@@ -180,8 +180,8 @@
throw new InvalidWSDLException("The fault message MUST
have a single part");
}
Part part = (Part)faultParts.get(0);
- WSDLPart wsdlPart = new WSDLPart(part, FaultException.class);
- faultTypes.add(wsdlPart.getDataType());
+ WSDLPart wsdlPart = new WSDLPart(part, Object.class);
+ faultTypes.add(new
DataTypeImpl<DataType>(FaultException.class, wsdlPart.getDataType()));
}
}
return faultTypes;
Added:
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java?rev=629687&view=auto
==============================================================================
---
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java
(added)
+++
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java
Wed Feb 20 20:11:14 2008
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.tuscany.sca.interfacedef;
+
+/**
+ * This interface represents the mapping between WSDL faults and Java
exceptions
+ *
+ * @version $Rev$ $Date$
+ */
[EMAIL PROTECTED]("unchecked")
+public interface FaultExceptionMapper {
+ /**
+ * Introspect an exception class to find out the fault data type following
the WSDL2Java
+ * mapping rules. The result will be populated into the logical type of
the exception data
+ * type
+ *
+ * @param exceptionDataType The data type representing a java exception
class
+ * @return true if the introspection can recoganize the exception data
type
+ */
+ boolean introspectFaultDataType(DataType<DataType> exceptionDataType);
+
+ /**
+ * Create a java exception to wrap the fault data
+ *
+ * @param exceptionType The DataType for the exception
+ * @param message message for the exception
+ * @param faultInfo The fault data
+ * @param cause of the exception
+ * @return An instance of java exception to represent the fault
+ */
+ Throwable wrapFaultInfo(DataType<DataType> exceptionType, String message,
Object faultInfo, Throwable cause);
+
+ /**
+ * Retrieve the fault info from a java exception
+ *
+ * @param exception The java exception that represents the fault data
+ * @param faultBeanClass
+ *
+ * @return The fault data
+ */
+ Object getFaultInfo(Throwable exception, Class<?> faultBeanClass);
+}
Propchange:
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified:
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java
(original)
+++
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java
Wed Feb 20 20:11:14 2008
@@ -135,6 +135,11 @@
if (d.getDataBinding() == null) {
d.setDataBinding(dataBinding);
}
+ DataType ft = (DataType) d.getLogical();
+ if (ft.getDataBinding() == null) {
+ ft.setDataBinding(dataBinding);
+ }
+
}
}
if (op.isWrapperStyle()) {
@@ -183,6 +188,7 @@
if (faultTypes != null) {
for (DataType d : faultTypes) {
setDataBinding(d, dataBinding);
+ setDataBinding((DataType) d.getLogical(), dataBinding);
}
}
if (op.isWrapperStyle()) {
Modified:
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/FaultException.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/FaultException.java?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
---
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/FaultException.java
(original)
+++
incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/util/FaultException.java
Wed Feb 20 20:11:14 2008
@@ -29,7 +29,7 @@
public class FaultException extends Exception {
private static final long serialVersionUID = -8002583655240625792L;
private Object faultInfo;
- private QName logical;
+ private QName faultName;
/**
* @param message
@@ -57,23 +57,23 @@
return faultInfo;
}
- public QName getLogical() {
- return logical;
+ public QName getFaultName() {
+ return faultName;
}
- public void setLogical(QName logical) {
- this.logical = logical;
+ public void setFaultName(QName logical) {
+ this.faultName = logical;
}
public boolean isMatchingType(Object type) {
- if (logical == null) {
+ if (faultName == null) {
return false;
}
- if ((type instanceof QName) && logical.equals(type)) {
+ if ((type instanceof QName) && faultName.equals(type)) {
return true;
}
- if (type instanceof XMLType &&
logical.equals(((XMLType)type).getElementName())) {
+ if (type instanceof XMLType &&
faultName.equals(((XMLType)type).getElementName())) {
return true;
}
return false;
Modified: incubator/tuscany/java/sca/modules/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/pom.xml?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/pom.xml Wed Feb 20 20:11:14 2008
@@ -92,6 +92,7 @@
<module>host-tomcat</module>
<module>interface</module>
<module>interface-java</module>
+ <module>interface-java-jaxws</module>
<module>interface-java-xml</module>
<module>interface-wsdl</module>
<module>interface-wsdl-java2wsdl</module>
Modified: incubator/tuscany/java/sca/tools/wsdl2java/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/wsdl2java/pom.xml?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tools/wsdl2java/pom.xml (original)
+++ incubator/tuscany/java/sca/tools/wsdl2java/pom.xml Wed Feb 20 20:11:14 2008
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
-->
<project>
<modelVersion>4.0.0</modelVersion>
@@ -29,31 +29,31 @@
<name>Apache Tuscany SCA WSDL2Java Tool</name>
<dependencies>
- <dependency>
+ <dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
<scope>test</scope>
</dependency>
-
+
<dependency>
<groupId>org.apache.tuscany.sdo</groupId>
<artifactId>tuscany-sdo-impl</artifactId>
<version>1.0-incubating-SNAPSHOT</version>
</dependency>
-
+
<dependency>
<groupId>org.apache.tuscany.sdo</groupId>
<artifactId>tuscany-sdo-tools</artifactId>
<version>1.0-incubating-SNAPSHOT</version>
</dependency>
-
+
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-xjc</artifactId>
<version>2.1.4</version>
</dependency>
-
+
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
@@ -191,6 +191,25 @@
<build>
<plugins>
<plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <id>add-test-source</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>add-test-source</goal>
+ </goals>
+ <configuration>
+ <sources>
+ <source>target/sdo-source</source>
+ </sources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
<groupId>org.apache.tuscany.sdo</groupId>
<artifactId>tuscany-sdo-plugin</artifactId>
<version>1.0-incubating-SNAPSHOT</version>
@@ -223,12 +242,12 @@
<name>java.net Maven 1.x Repository</name>
<url>http://download.java.net/maven/1</url>
<layout>legacy</layout>
- </repository>
+ </repository>
<repository>
<!-- <id>eclipse.emf</id>
- <url>http://download.eclipse.org/tools/emf/maven2</url> -->
+ <url>http://download.eclipse.org/tools/emf/maven2</url> -->
<!-- <id>osuosl.org</id>
- <url>http://ftp.osuosl.org/pub/eclipse/tools/emf/maven2</url> -->
+ <url>http://ftp.osuosl.org/pub/eclipse/tools/emf/maven2</url>
-->
<!-- temporarily using indiana state univ as eclipse site diesnt
have 2.2.2 at the moment -->
<id>indiana</id>
<url>http://ftp.ussg.iu.edu/eclipse/modeling/emf/emf/maven2/</url>
Modified:
incubator/tuscany/java/sca/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceGenerator.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceGenerator.java?rev=629687&r1=629686&r2=629687&view=diff
==============================================================================
---
incubator/tuscany/java/sca/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceGenerator.java
(original)
+++
incubator/tuscany/java/sca/tools/wsdl2java/src/main/java/org/apache/tuscany/tools/wsdl2java/generate/JavaInterfaceGenerator.java
Wed Feb 20 20:11:14 2008
@@ -295,8 +295,12 @@
stream.println();
stream.println("package " + packageName + ";");
stream.println();
- stream.println("import javax.xml.namespace.QName; ");
+ stream.println("import javax.xml.ws.WebFault;");
stream.println();
+ stream.println("@WebFault(name=\"" +
faultMsgPartElementQName.getLocalPart()
+ + "\", targetNamespace=\""
+ + faultMsgPartElementQName.getNamespaceURI()
+ + "\")");
stream.println("public class " + faultWrapperClassName + "
extends Exception {");
stream.println();
stream.println(" private " + faultClassName + " fault;");
@@ -310,9 +314,6 @@
stream.println(" super(message, cause);");
stream.println(" this.fault = fault;");
stream.println(" }");
- stream.println();
- stream.println(" public static QName FAULT_ELEMENT = new
QName(\"" + faultMsgPartElementQName.getNamespaceURI() +
- "\",\"" + faultMsgPartElementQName.getLocalPart() +
"\");");
stream.println();
stream.println(" public " + faultClassName + " getFaultInfo()
{");
stream.println(" return this.fault;");
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]