scheu 2002/10/14 09:44:16 Modified: java/src/org/apache/axis/wsdl/toJava JavaSkelWriter.java java/test/wsdl/roundtrip RoundtripTestServiceTestCase.java Log: Added code to the skeleton writer to generate correct FaultDesc info. Revision Changes Path 1.51 +45 -0 xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaSkelWriter.java Index: JavaSkelWriter.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaSkelWriter.java,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- JavaSkelWriter.java 9 Oct 2002 19:06:33 -0000 1.50 +++ JavaSkelWriter.java 14 Oct 2002 16:44:16 -0000 1.51 @@ -59,6 +59,7 @@ import java.util.Iterator; import java.util.List; +import java.util.ArrayList; import javax.wsdl.Binding; import javax.wsdl.BindingInput; @@ -75,6 +76,7 @@ import javax.xml.namespace.QName; import org.apache.axis.wsdl.symbolTable.BindingEntry; +import org.apache.axis.wsdl.symbolTable.FaultInfo; import org.apache.axis.wsdl.symbolTable.Parameter; import org.apache.axis.wsdl.symbolTable.Parameters; import org.apache.axis.wsdl.symbolTable.SymbolTable; @@ -141,6 +143,7 @@ // Initialize operation parameter names pw.println(" static {"); pw.println(" org.apache.axis.description.OperationDesc _oper;"); + pw.println(" org.apache.axis.description.FaultDesc _fault;"); pw.println(" org.apache.axis.description.ParameterDesc [] _params;"); List operations = binding.getBindingOperations(); for (int i = 0; i < operations.size(); ++i) { @@ -258,6 +261,48 @@ pw.println(" _myOperations.put(\"" + javaOpName + "\", new java.util.ArrayList());"); pw.println(" }"); pw.println(" ((java.util.List)_myOperations.get(\"" + javaOpName + "\")).add(_oper);"); + } + + // Now generate FaultDesc + if (bEntry.getFaults() != null) { + ArrayList faults = (ArrayList) bEntry.getFaults().get(bindingOper); + if (faults != null) { + + // Operation was not created if there were no parameters + if (parameters == null) { + String opName = bindingOper.getOperation().getName(); + String javaOpName = Utils.xmlNameToJava(opName); + pw.println(" _oper = " + + "new org.apache.axis.description.OperationDesc();"); + pw.println(" _oper.setName(\"" + + javaOpName + "\");"); + } + // Create FaultDesc items for each fault + Iterator it = faults.iterator(); + while (it.hasNext()) { + FaultInfo faultInfo = (FaultInfo) it.next(); + QName faultQName = faultInfo.getQName(); + QName faultXMLType = faultInfo.getXMLType(); + String className = + Utils.getFullExceptionName( + faultInfo.getMessage(), symbolTable); + pw.println(" _fault = " + + "new org.apache.axis.description.FaultDesc();"); + if (faultQName != null) { + pw.println(" _fault.setQName(" + + Utils.getNewQName(faultQName) + ");"); + } + if (className != null) { + pw.println(" _fault.setClassName(\"" + + className + "\");"); + } + if (faultXMLType != null) { + pw.println(" _fault.setXmlType(" + + Utils.getNewQName(faultXMLType) + ");"); + } + pw.println(" _oper.addFault(_fault);"); + } + } } } pw.println(" }"); 1.19 +6 -6 xml-axis/java/test/wsdl/roundtrip/RoundtripTestServiceTestCase.java Index: RoundtripTestServiceTestCase.java =================================================================== RCS file: /home/cvs/xml-axis/java/test/wsdl/roundtrip/RoundtripTestServiceTestCase.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- RoundtripTestServiceTestCase.java 10 Oct 2002 22:04:11 -0000 1.18 +++ RoundtripTestServiceTestCase.java 14 Oct 2002 16:44:16 -0000 1.19 @@ -1249,9 +1249,9 @@ fail("Should have received an InvalidTickerSymbol exception."); } catch (InvalidTickerSymbol its) { // Test was successful - //assertEquals("The expected and actual values did not match.", - // its.getTickerSymbol(), - // "ABC"); + assertEquals("The expected and actual values did not match.", + "ABC", + its.getTickerSymbol()); } catch(RemoteException re) { fail("Remote Exception caught: " + re); } @@ -1269,9 +1269,9 @@ fail("TRY: Should have received an InvalidTradeExchange exception."); } catch (InvalidTradeExchange ite) { // Test was successful - //assertEquals("The expected and actual values did not match.", - // ite.getTradeExchange(), - // "XYZ"); + assertEquals("The expected and actual values did not match.", + "XYZ", + ite.getTradeExchange()); } catch (InvalidTickerSymbol its) { fail("ITS: Should have received an InvalidTradeExchange exception."); } catch (InvalidCompanyId ici) {