Awesome...Thanks.
-- dims
--- [EMAIL PROTECTED] wrote:
> gdaniels 2003/01/02 11:26:14
>
> Modified: java/src/org/apache/axis/client Call.java
> java/test/wsdl/interop4/groupG/dime/doc
> DimeDOCInteropTestCase.java
> java/src/org/apache/axis/wsdl/toJava JavaStubWriter.java
> java/test/wsdl/interop4/groupG/mime/doc
> MimeDOCInteropTestCase.java
> Log:
> Fix document style attachments tests for interop4 group "G".
>
> Two major changes (plus a little cleanup in Call):
>
> 1) Call now uses the OperationDesc's returnClass, and doesn't keep
> a separate (and potentially out-of-sync) copy in its own field.
>
> 2) JavaStubWriter now uses the more-correct classes for attachment
> parameters, so that the addParameter()/setReturnClass() calls match
> what we expect. This allows array conversions to work correctly.
>
> Uncommented the group G doc style tests.
>
> Revision Changes Path
> 1.197 +6 -12 xml-axis/java/src/org/apache/axis/client/Call.java
>
> Index: Call.java
> ===================================================================
> RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/Call.java,v
> retrieving revision 1.196
> retrieving revision 1.197
> diff -u -r1.196 -r1.197
> --- Call.java 30 Dec 2002 14:36:45 -0000 1.196
> +++ Call.java 2 Jan 2003 19:26:13 -0000 1.197
> @@ -199,9 +199,6 @@
> // A place to store any client-specified headers
> private Vector myHeaders = null;
>
> - // The desired return Java type, so we can do conversions if needed
> - private Class returnJavaType = null;
> -
> public static final String SEND_TYPE_ATTR = "send_type_attr" ;
> public static final String TRANSPORT_NAME = "transport_name" ;
> public static final String TRANSPORT_PROPERTY= "java.protocol.handler.pkgs";
> @@ -1015,7 +1012,6 @@
> */
> public void setReturnType(QName xmlType, Class javaType) {
> setReturnType(xmlType);
> - returnJavaType = javaType;
> // Use specified type as the operation return
> operation.setReturnClass(javaType);
> }
> @@ -1096,8 +1092,6 @@
> TypeMapping tm = getTypeMapping();
> operation.setReturnType(tm.getTypeQName(cls));
> parmAndRetReq = true;
> -
> - returnJavaType = cls;
> }
>
> /**
> @@ -1157,7 +1151,6 @@
> *
> * Note: Not part of JAX-RPC specification.
> *
> - * @param portName PortName in the WSDL doc to search for
> * @param opName Operation(method) that's going to be invoked
> */
> public void setOperation(String opName) {
> @@ -1423,7 +1416,6 @@
>
> // Get the SOAPAction
> ////////////////////////////////////////////////////////////////////
> - String opStyle = null;
> BindingOperation bop = binding.getBindingOperation(opName,
> null, null);
> if ( bop == null )
> @@ -1434,7 +1426,6 @@
> Object obj = list.get(i);
> if ( obj instanceof SOAPOperation ) {
> SOAPOperation sop = (SOAPOperation) obj ;
> - opStyle = ((SOAPOperation) obj).getStyle();
> String action = sop.getSoapActionURI();
> if ( action != null ) {
> setUseSOAPAction(true);
> @@ -2306,8 +2297,8 @@
> }
>
> // Convert type if needed
> - if (returnJavaType != null) {
> - result = JavaUtils.convert(result, returnJavaType);
> + if (operation != null && operation.getReturnClass() != null) {
> + result = JavaUtils.convert(result, operation.getReturnClass());
> }
>
> return( result );
> @@ -2492,7 +2483,10 @@
>
> SOAPBodyElement respBody = resEnv.getFirstBody();
> if (respBody instanceof SOAPFault) {
> - if(returnJavaType == null || returnJavaType !=
>javax.xml.soap.SOAPMessage.class)
> + if(operation == null ||
> + operation.getReturnClass() == null ||
> + operation.getReturnClass() !=
> + javax.xml.soap.SOAPMessage.class)
> throw ((SOAPFault)respBody).getFault();
> }
> }
>
>
>
> 1.2 +0 -4
> xml-axis/java/test/wsdl/interop4/groupG/dime/doc/DimeDOCInteropTestCase.java
>
> Index: DimeDOCInteropTestCase.java
> ===================================================================
> RCS file:
>
>/home/cvs/xml-axis/java/test/wsdl/interop4/groupG/dime/doc/DimeDOCInteropTestCase.java,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -r1.1 -r1.2
> --- DimeDOCInteropTestCase.java 2 Jan 2003 00:02:42 -0000 1.1
> +++ DimeDOCInteropTestCase.java 2 Jan 2003 19:26:13 -0000 1.2
> @@ -58,16 +58,12 @@
> input[0] = new OctetStream("EchoAttachments0".getBytes());
> input[1] = new OctetStream("EchoAttachments1".getBytes());
>
> - //TODO: Need to fix wsdl2java generation. Getting a "Bad Types"
> - // Exception if we enable the following code.
> - /*
> // Test operation
> OctetStream[] output = null;
> output = binding.echoAttachments(input);
> // TBD - validate results
> assertTrue(Arrays.equals(input[0].getBytes(), output[0].getBytes()));
> assertTrue(Arrays.equals(input[1].getBytes(), output[1].getBytes()));
> - */
> }
>
> public void test3DimeDOCSoapPortEchoAttachmentAsBase64() throws Exception {
>
>
>
> 1.109 +3 -2
>xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java
>
> Index: JavaStubWriter.java
> ===================================================================
> RCS file:
>/home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/JavaStubWriter.java,v
> retrieving revision 1.108
> retrieving revision 1.109
> diff -u -r1.108 -r1.109
> --- JavaStubWriter.java 30 Dec 2002 14:36:46 -0000 1.108
> +++ JavaStubWriter.java 2 Jan 2003 19:26:13 -0000 1.109
> @@ -57,6 +57,7 @@
> import org.apache.axis.enum.Style;
> import org.apache.axis.enum.Use;
> import org.apache.axis.utils.Messages;
> +import org.apache.axis.utils.JavaUtils;
> import org.apache.axis.wsdl.symbolTable.BindingEntry;
> import org.apache.axis.wsdl.symbolTable.CollectionTE;
> import org.apache.axis.wsdl.symbolTable.Element;
> @@ -376,7 +377,7 @@
> String javaType = null;
> if (p.getMIMEInfo() != null) {
> MimeInfo mimeInfo = p.getMIMEInfo();
> - javaType = "javax.activation.DataHandler" +
>mimeInfo.getDimensions() +
> ".class, ";
> + javaType = JavaUtils.mimeToJava(mimeInfo.getType()) +
> mimeInfo.getDimensions() + ".class, ";
> }
> else {
> javaType = p.getType().getName();
> @@ -410,7 +411,7 @@
> String javaType = null;
> if (parameters.returnParam.getMIMEInfo() != null) {
> MimeInfo mimeInfo = parameters.returnParam.getMIMEInfo();
> - javaType = "javax.activation.DataHandler" +
>mimeInfo.getDimensions();
> + javaType = JavaUtils.mimeToJava(mimeInfo.getType()) +
> mimeInfo.getDimensions();
> }
> else {
> javaType = parameters.returnParam.getType().getName();
>
>
>
> 1.2 +0 -4
> xml-axis/java/test/wsdl/interop4/groupG/mime/doc/MimeDOCInteropTestCase.java
>
> Index: MimeDOCInteropTestCase.java
> ===================================================================
> RCS file:
>
>/home/cvs/xml-axis/java/test/wsdl/interop4/groupG/mime/doc/MimeDOCInteropTestCase.java,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -u -r1.1 -r1.2
> --- MimeDOCInteropTestCase.java 31 Dec 2002 22:46:51 -0000 1.1
> +++ MimeDOCInteropTestCase.java 2 Jan 2003 19:26:14 -0000 1.2
> @@ -60,16 +60,12 @@
> input[0] = new OctetStream("EchoAttachments0".getBytes());
> input[1] = new OctetStream("EchoAttachments1".getBytes());
>
> - //TODO: Need to fix wsdl2java generation. Getting a "Bad Types"
>
=== message truncated ===
=====
Davanum Srinivas - http://xml.apache.org/~dims/
__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com