You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by gd...@apache.org on 2002/10/05 07:26:08 UTC
cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava JavaDeployWriter.java JavaDefinitionWriter.java
gdaniels 2002/10/04 22:26:08
Modified: java/src/org/apache/axis/deployment/wsdd Tag: interop4
WSDDOperation.java WSDDFault.java
WSDDConstants.java
java/src/org/apache/axis/wsdl/symbolTable Tag: interop4
SymbolTable.java BindingEntry.java
java/src/org/apache/axis/message Tag: interop4
SOAPFaultDetailsBuilder.java
java/src/org/apache/axis/description Tag: interop4
ServiceDesc.java
java/src/org/apache/axis/wsdl/toJava Tag: interop4
JavaDeployWriter.java JavaDefinitionWriter.java
Log:
Continue work on faults, making sure we deal correctly with fault
metadata. SimpleRpcEnc fault test now passes again. Doc/lit
next.
Revision Changes Path
No revision
No revision
1.21.8.2 +8 -0 xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDOperation.java
Index: WSDDOperation.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDOperation.java,v
retrieving revision 1.21.8.1
retrieving revision 1.21.8.2
diff -u -r1.21.8.1 -r1.21.8.2
--- WSDDOperation.java 4 Oct 2002 13:06:06 -0000 1.21.8.1
+++ WSDDOperation.java 5 Oct 2002 05:26:07 -0000 1.21.8.2
@@ -57,6 +57,7 @@
import org.apache.axis.description.OperationDesc;
import org.apache.axis.description.ParameterDesc;
import org.apache.axis.description.ServiceDesc;
+import org.apache.axis.description.FaultDesc;
import org.apache.axis.encoding.SerializationContext;
import org.apache.axis.utils.XMLUtils;
import org.w3c.dom.Element;
@@ -167,6 +168,13 @@
ParameterDesc parameterDesc = (ParameterDesc) i.next();
WSDDParameter p = new WSDDParameter(parameterDesc);
p.writeToContext(context);
+ }
+
+ ArrayList faults = desc.getFaults();
+ for (Iterator i = faults.iterator(); i.hasNext();) {
+ FaultDesc faultDesc = (FaultDesc) i.next();
+ WSDDFault f = new WSDDFault(faultDesc);
+ f.writeToContext(context);
}
context.endElement();
1.1.2.2 +16 -2 xml-axis/java/src/org/apache/axis/deployment/wsdd/Attic/WSDDFault.java
Index: WSDDFault.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/Attic/WSDDFault.java,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- WSDDFault.java 4 Oct 2002 15:30:59 -0000 1.1.2.1
+++ WSDDFault.java 5 Oct 2002 05:26:07 -0000 1.1.2.2
@@ -70,6 +70,10 @@
public class WSDDFault extends WSDDElement {
FaultDesc desc;
+ public WSDDFault(FaultDesc desc) {
+ this.desc = desc;
+ }
+
/**
* Construct a WSDDFault from a DOM Element
* @param e the <fault> Element
@@ -78,13 +82,19 @@
public WSDDFault(Element e) throws WSDDException {
super(e);
+ desc = new FaultDesc();
+
String qNameStr = e.getAttribute(ATTR_QNAME);
if (qNameStr != null && !qNameStr.equals(""))
desc.setQName(XMLUtils.getQNameFromString(qNameStr, e));
- String classNameStr = e.getAttribute(ATTR_CLASSNAME);
+ String classNameStr = e.getAttribute(ATTR_CLASS);
if (classNameStr != null && !classNameStr.equals(""))
desc.setClassName(classNameStr);
+
+ String xmlTypeStr = e.getAttribute(ATTR_TYPE);
+ if (xmlTypeStr != null && !xmlTypeStr.equals(""))
+ desc.setXmlType(XMLUtils.getQNameFromString(xmlTypeStr, e));
}
/**
@@ -105,8 +115,12 @@
"CDATA",
context.qName2String(desc.getQName()));
- attrs.addAttribute("", ATTR_CLASSNAME, ATTR_CLASSNAME,
+ attrs.addAttribute("", ATTR_CLASS, ATTR_CLASS,
"CDATA", desc.getClassName());
+
+ attrs.addAttribute("", ATTR_TYPE, ATTR_TYPE,
+ "CDATA",
+ context.qName2String(desc.getXmlType()));
context.startElement(getElementName(), attrs);
context.endElement();
1.23.2.2 +1 -0 xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDConstants.java
Index: WSDDConstants.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/deployment/wsdd/WSDDConstants.java,v
retrieving revision 1.23.2.1
retrieving revision 1.23.2.2
diff -u -r1.23.2.1 -r1.23.2.2
--- WSDDConstants.java 4 Oct 2002 13:06:06 -0000 1.23.2.1
+++ WSDDConstants.java 5 Oct 2002 05:26:07 -0000 1.23.2.2
@@ -178,4 +178,5 @@
public static final String ATTR_ENCSTYLE = "encodingStyle";
public static final String ATTR_SOAPACTORNAME = "soapActorName";
public static final String ATTR_CLASSNAME = "classname";
+ public static final String ATTR_CLASS = "class";
}
No revision
No revision
1.41.4.2 +10 -2 xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java
Index: SymbolTable.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/SymbolTable.java,v
retrieving revision 1.41.4.1
retrieving revision 1.41.4.2
diff -u -r1.41.4.1 -r1.41.4.2
--- SymbolTable.java 4 Oct 2002 23:36:32 -0000 1.41.4.1
+++ SymbolTable.java 5 Oct 2002 05:26:07 -0000 1.41.4.2
@@ -1495,6 +1495,8 @@
HashMap attributes = new HashMap();
List bindList = binding.getBindingOperations();
Map mimeTypes = new HashMap();
+ HashMap faultMap = new HashMap(); // name to SOAPFault from WSDL4J
+
for (Iterator opIterator = bindList.iterator(); opIterator.hasNext();) {
BindingOperation bindOp = (BindingOperation) opIterator.next();
BindingInput bindingInput = bindOp.getBindingInput();
@@ -1572,7 +1574,6 @@
}
// faults
- HashMap faultMap = new HashMap(); // name to SOAPFault from WSDL4J
ArrayList faults = new ArrayList();
Iterator faultMapIter = bindOp.getBindingFaults().values().iterator();
for (; faultMapIter.hasNext(); ) {
@@ -1624,9 +1625,15 @@
bindOp.getName(),
binding.getQName().toString()}));
}
+
+ // FIXME
+ Part p = (Part)(opFault.getMessage().getParts().values().iterator().next());
+ QName xmlType = p.getTypeName();
+
// put the updated entry back in the map
faults.add(new JavaDefinitionWriter.FaultInfo(opFault,
- soapFault));
+ soapFault,
+ xmlType));
}
// Add this fault name and info to the map
faultMap.put(bindOp, faults);
@@ -1644,6 +1651,7 @@
}
} // binding operations
BindingEntry bEntry = new BindingEntry(binding, bindingType, bindingStyle, hasLiteral, attributes, mimeTypes);
+ bEntry.setFaults(faultMap);
symbolTablePut(bEntry);
}
} // populateBindings
1.3.4.2 +4 -0 xml-axis/java/src/org/apache/axis/wsdl/symbolTable/BindingEntry.java
Index: BindingEntry.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/symbolTable/BindingEntry.java,v
retrieving revision 1.3.4.1
retrieving revision 1.3.4.2
diff -u -r1.3.4.1 -r1.3.4.2
--- BindingEntry.java 4 Oct 2002 23:36:33 -0000 1.3.4.1
+++ BindingEntry.java 5 Oct 2002 05:26:07 -0000 1.3.4.2
@@ -263,6 +263,10 @@
return faults;
}
+ public void setFaults(HashMap faults) {
+ this.faults = faults;
+ }
+
/**
* Contains attributes for Operations
* - Body type: encoded or literal
No revision
No revision
1.1.2.5 +3 -3 xml-axis/java/src/org/apache/axis/message/Attic/SOAPFaultDetailsBuilder.java
Index: SOAPFaultDetailsBuilder.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/message/Attic/SOAPFaultDetailsBuilder.java,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -r1.1.2.4 -r1.1.2.5
--- SOAPFaultDetailsBuilder.java 4 Oct 2002 23:36:33 -0000 1.1.2.4
+++ SOAPFaultDetailsBuilder.java 5 Oct 2002 05:26:07 -0000 1.1.2.5
@@ -58,8 +58,6 @@
import org.apache.axis.MessageContext;
import org.apache.axis.description.OperationDesc;
import org.apache.axis.description.FaultDesc;
-import org.apache.axis.client.Service;
-import org.apache.axis.client.Call;
import org.apache.axis.encoding.DeserializationContext;
import org.apache.axis.encoding.Deserializer;
import org.apache.axis.encoding.Callback;
@@ -116,7 +114,9 @@
builder.setWaiting(true);
// register callback for the data, use the xmlType from fault info
Deserializer dser = context.getDeserializerForType(faultDesc.getXmlType());
- dser.registerValueTarget(new CallbackTarget(this, "faultData"));
+ if (dser != null) {
+ dser.registerValueTarget(new CallbackTarget(this, "faultData"));
+ }
return (SOAPHandler)dser;
}
}
No revision
No revision
1.64.2.3 +20 -14 xml-axis/java/src/org/apache/axis/description/ServiceDesc.java
Index: ServiceDesc.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/description/ServiceDesc.java,v
retrieving revision 1.64.2.2
retrieving revision 1.64.2.3
diff -u -r1.64.2.2 -r1.64.2.3
--- ServiceDesc.java 4 Oct 2002 23:36:33 -0000 1.64.2.2
+++ ServiceDesc.java 5 Oct 2002 05:26:07 -0000 1.64.2.3
@@ -1140,21 +1140,27 @@
operation.addFault(fault);
*/
- // Create a single part with the dummy name "fault"
- // that locates the complexType for this exception.
- ParameterDesc param = new ParameterDesc(
- new QName("", "fault"),
- ParameterDesc.IN,
- tm.getTypeQName(ex));
- param.setJavaType(ex);
- ArrayList exceptionParams = new ArrayList();
- exceptionParams.add(param);
+ FaultDesc fault = operation.getFaultByClass(ex);
+ if (fault == null) {
+ QName xmlType = tm.getTypeQName(ex);
+ // Create a single part with the dummy name "fault"
+ // that locates the complexType for this exception.
+ ParameterDesc param = new ParameterDesc(
+ new QName("", "fault"),
+ ParameterDesc.IN,
+ xmlType);
+ param.setJavaType(ex);
+ ArrayList exceptionParams = new ArrayList();
+ exceptionParams.add(param);
+
+ fault = new FaultDesc();
+ String pkgAndClsName = ex.getName();
+ fault.setName(pkgAndClsName);
+ fault.setParameters(exceptionParams);
+ fault.setClassName(pkgAndClsName);
+ fault.setXmlType(xmlType);
+ }
- String pkgAndClsName = ex.getName();
- FaultDesc fault = new FaultDesc();
- fault.setName(pkgAndClsName);
- fault.setParameters(exceptionParams);
- fault.setClassName(pkgAndClsName);
operation.addFault(fault);
}
}
No revision
No revision
1.65.2.3 +3 -0 xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaDeployWriter.java
Index: JavaDeployWriter.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaDeployWriter.java,v
retrieving revision 1.65.2.2
retrieving revision 1.65.2.3
diff -u -r1.65.2.2 -r1.65.2.3
--- JavaDeployWriter.java 4 Oct 2002 23:36:02 -0000 1.65.2.2
+++ JavaDeployWriter.java 5 Oct 2002 05:26:08 -0000 1.65.2.3
@@ -468,6 +468,9 @@
pw.print(" qname=\"" +
Utils.genQNameAttributeString(faultQName, "fns") + "\"");
pw.print(" class=\"" + className+ "\"");
+ pw.print(" type=\"" +
+ Utils.genQNameAttributeString(faultInfo.xmlType,
+ "tns") + "\"");
pw.println("/>");
}
}
1.10.4.5 +4 -1 xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaDefinitionWriter.java
Index: JavaDefinitionWriter.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaDefinitionWriter.java,v
retrieving revision 1.10.4.4
retrieving revision 1.10.4.5
diff -u -r1.10.4.4 -r1.10.4.5
--- JavaDefinitionWriter.java 4 Oct 2002 23:36:02 -0000 1.10.4.4
+++ JavaDefinitionWriter.java 5 Oct 2002 05:26:08 -0000 1.10.4.5
@@ -73,6 +73,7 @@
import javax.wsdl.Binding;
import javax.wsdl.BindingOperation;
import javax.wsdl.extensions.soap.SOAPFault;
+import javax.xml.namespace.QName;
import org.apache.axis.wsdl.gen.Generator;
@@ -166,13 +167,15 @@
* Holder structure for fault information
*/
public static class FaultInfo {
- public FaultInfo(Fault fault, SOAPFault soapFault) {
+ public FaultInfo(Fault fault, SOAPFault soapFault, QName xmlType) {
this.fault = fault;
this.soapFault = soapFault;
+ this.xmlType = xmlType;
}
public Fault fault;
public SOAPFault soapFault;
+ public QName xmlType;
}
/**