Author: deepal Date: Thu Oct 26 05:09:16 2006 New Revision: 467977 URL: http://svn.apache.org/viewvc?view=rev&rev=467977 Log: - improve wsdl generation to generate nillable wsdl - and changed the code to handle nil
Modified: webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/client/RPCServiceClient.java webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java webservices/axis2/branches/java/1_1/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java webservices/axis2/branches/java/1_1/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java Modified: webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/client/RPCServiceClient.java URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/client/RPCServiceClient.java?view=diff&rev=467977&r1=467976&r2=467977 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/client/RPCServiceClient.java (original) +++ webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/client/RPCServiceClient.java Thu Oct 26 05:09:16 2006 @@ -86,7 +86,7 @@ * @throws AxisFault */ - public Object[] invokeBlocking(QName opName, Object [] args, Object [] returnTypes) throws AxisFault { + public Object[] invokeBlocking(QName opName, Object [] args, Class [] returnTypes) throws AxisFault { OMElement omElement = BeanUtil.getOMElement(opName, args, null, false, null); OMElement response; if (notNullService) { Modified: webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java?view=diff&rev=467977&r1=467976&r2=467977 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java (original) +++ webservices/axis2/branches/java/1_1/modules/adb/src/org/apache/axis2/rpc/receivers/RPCUtil.java Thu Oct 26 05:09:16 2006 @@ -141,9 +141,14 @@ MessageContext outMessage ) throws Exception { if (resObject == null) { - QName resName = new QName(service.getSchematargetNamespace(), - RETURN_WRAPPER, - service.getSchematargetNamespacePrefix()); + QName resName; + if (service.isElementFormDefault()) { + resName = new QName(service.getSchematargetNamespace(), + RETURN_WRAPPER, + service.getSchematargetNamespacePrefix()); + } else { + resName = new QName(RETURN_WRAPPER); + } XMLStreamReader xr = new NullXMLStreamReader(resName); StreamWrapper parser = new StreamWrapper(xr); StAXOMBuilder stAXOMBuilder = Modified: webservices/axis2/branches/java/1_1/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java?view=diff&rev=467977&r1=467976&r2=467977 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java (original) +++ webservices/axis2/branches/java/1_1/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java Thu Oct 26 05:09:16 2006 @@ -475,7 +475,7 @@ resobj.add(Company.class); resobj.add(Company.class); resobj.add(Company.class); - Object [] value = sender.invokeBlocking(operationName, req.toArray(), resobj.toArray()); + Object [] value = sender.invokeBlocking(operationName, req.toArray(), (Class[])resobj.toArray(new Class[resobj.size()])); assertEquals(4, value.length); assertEquals(((Company) value[0]).getName(), "MyCompany"); } @@ -548,7 +548,7 @@ ArrayList ret = new ArrayList(); ret.add(MyBean.class); - Object [] response = sender.invokeBlocking(operationName, args.toArray(), ret.toArray()); + Object [] response = sender.invokeBlocking(operationName, args.toArray(), (Class[])ret.toArray(new Class[ret.size()])); MyBean resBean = (MyBean) response[0]; assertNotNull(resBean); assertEquals(resBean.getAge(), 100); @@ -572,7 +572,7 @@ ArrayList ret = new ArrayList(); ret.add(Integer.class); - Object [] response = sender.invokeBlocking(operationName, args.toArray(), ret.toArray()); + Object [] response = sender.invokeBlocking(operationName, args.toArray(), (Class[])ret.toArray(new Class[ret.size()])); assertEquals(((Integer) response[0]).intValue(), 100); } @@ -618,7 +618,7 @@ ArrayList ret = new ArrayList(); ret.add(Boolean.class); Object [] objs = sender.invokeBlocking(operationName, args.toArray(), - ret.toArray()); + (Class[])ret.toArray(new Class[ret.size()])); assertNotNull(objs); assertEquals(Boolean.TRUE, Boolean.valueOf(objs[0].toString())); } @@ -648,7 +648,7 @@ ArrayList ret = new ArrayList(); ret.add(Integer.class); Object [] objs = sender.invokeBlocking(operationName, args.toArray(), - ret.toArray()); + (Class[])ret.toArray(new Class[ret.size()])); assertNotNull(objs); assertEquals(19, Integer.parseInt(objs[0].toString())); } Modified: webservices/axis2/branches/java/1_1/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java?view=diff&rev=467977&r1=467976&r2=467977 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java (original) +++ webservices/axis2/branches/java/1_1/modules/java2wsdl/src/org/apache/ws/java2wsdl/SchemaGenerator.java Thu Oct 26 05:09:16 2006 @@ -297,6 +297,9 @@ elt1.setMaxOccurs(Long.MAX_VALUE); elt1.setMinOccurs(1); } + if (String.class.getName().equals(propertyName)) { + elt1.setNillable(true); + } } else { if (isArryType) { generateSchema(property.getType().getArrayComponentType()); @@ -311,6 +314,7 @@ elt1.setMaxOccurs(Long.MAX_VALUE); elt1.setMinOccurs(1); } + elt1.setNillable(true); if (!((NamespaceMap) xmlSchema.getNamespaceContext()).values(). contains(typeTable.getComplexSchemaType(propertyName).getNamespaceURI())) { @@ -373,8 +377,8 @@ if (isArray) { elt1.setMaxOccurs(Long.MAX_VALUE); elt1.setMinOccurs(1); - elt1.setNillable(true); } + elt1.setNillable(true); } private XmlSchemaComplexType createSchemaTypeForMethodPart(String localPartName) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]