dims 2002/06/27 11:06:17 Modified: java/src/org/apache/axis/utils axisNLS.properties java/test/wsdl/types DynamicProxyTestCase.java java/src/org/apache/axis/client Service.java ServiceFactory.java Log: TCK compliance fixes. Revision Changes Path 1.17 +1 -0 xml-axis/java/src/org/apache/axis/utils/axisNLS.properties Index: axisNLS.properties =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/axisNLS.properties,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- axisNLS.properties 27 Jun 2002 16:36:08 -0000 1.16 +++ axisNLS.properties 27 Jun 2002 18:06:17 -0000 1.17 @@ -57,6 +57,7 @@ badParmMode00=Invalid Parameter mode {0}. badPosition00=Malformed position attribute ''{0}''. badProxy00=Proxy port number, "{0}", incorrectly formatted +badPort00=portName should not be null # NOTE: in badRequest00, do not translate "GET", "POST" badRequest00=Cannot handle non-GET, non-POST request 1.7 +3 -5 xml-axis/java/test/wsdl/types/DynamicProxyTestCase.java Index: DynamicProxyTestCase.java =================================================================== RCS file: /home/cvs/xml-axis/java/test/wsdl/types/DynamicProxyTestCase.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- DynamicProxyTestCase.java 18 Jun 2002 16:53:10 -0000 1.6 +++ DynamicProxyTestCase.java 27 Jun 2002 18:06:17 -0000 1.7 @@ -78,12 +78,10 @@ Stub binding = (Stub) service.getPort(TypeTest.class); binding._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, "http://localhost:8080/axis/services/TypeTest"); - return (TypeTest) binding; - + throw new AssertionFailedError("Should not get a binding"); } catch (ServiceException jre) { - jre.printStackTrace(); - throw new AssertionFailedError("ServiceException caught: " + jre); + return null; } } // getProxy @@ -125,7 +123,7 @@ TypeTest binding = getProxyWithWSDL(); allPrimitivesIn(binding); binding = getProxy(); - allPrimitivesIn(binding); + assertTrue(binding == null); } // test2TypeTestAllPrimitivesInout private void allPrimitivesInout(TypeTest binding) { 1.62 +32 -9 xml-axis/java/src/org/apache/axis/client/Service.java Index: Service.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/Service.java,v retrieving revision 1.61 retrieving revision 1.62 diff -u -r1.61 -r1.62 --- Service.java 25 Jun 2002 19:11:21 -0000 1.61 +++ Service.java 27 Jun 2002 18:06:17 -0000 1.62 @@ -112,6 +112,7 @@ private transient EngineConfiguration config = (new DefaultEngineConfigurationFactory()).getClientEngineConfig(); + private QName serviceName = null ; private URL wsdlLocation = null ; private Definition wsdlDefinition = null ; private javax.wsdl.Service wsdlService = null ; @@ -149,6 +150,16 @@ } /** + * Constructs a new Service object - this assumes the caller will set + * the appropriate fields by hand rather than getting them from the + * WSDL. + */ + public Service(QName serviceName) { + this.serviceName = serviceName; + engine = getAxisClient(); + } + + /** * Constructs a new Service object as above, but also passing in * the EngineConfiguration which should be used to set up the * AxisClient. @@ -167,6 +178,7 @@ * @throws ServiceException If there's an error finding or parsing the WSDL */ public Service(URL wsdlDoc, QName serviceName) throws ServiceException { + this.serviceName = serviceName; engine = getAxisClient(); this.wsdlLocation = wsdlDoc; Definition def = null ; @@ -194,6 +206,7 @@ */ public Service(String wsdlLocation, QName serviceName) throws ServiceException { + this.serviceName = serviceName; engine = getAxisClient(); try { this.wsdlLocation = new URL(wsdlLocation); @@ -289,6 +302,14 @@ */ public Remote getPort(QName portName, Class proxyInterface) throws ServiceException { + + if (wsdlLocation == null) + throw new ServiceException(JavaUtils.getMessage("wsdlMissing00")); + + Port port = wsdlService.getPort( portName.getLocalPart() ); + if ( port == null ) + throw new ServiceException( JavaUtils.getMessage("noPort00", "" + portName) ); + // First, try to find a generated stub. If that // returns null, then find a dynamic stub. Remote stub = getGeneratedStub(portName, proxyInterface); @@ -340,6 +361,9 @@ * @throws ServiceException If there's an error */ public Remote getPort(Class proxyInterface) throws ServiceException { + if (wsdlLocation == null) + throw new ServiceException(JavaUtils.getMessage("wsdlMissing00")); + return getPort(null, null, proxyInterface); } @@ -509,12 +533,14 @@ * to the required WSDL metadata or if an illegal portName is specified. */ public javax.xml.rpc.Call[] getCalls(QName portName) throws ServiceException { - if (wsdlLocation == null) { + if (portName == null) + throw new ServiceException(JavaUtils.getMessage("badPort00")); + + if (wsdlLocation == null) throw new ServiceException(JavaUtils.getMessage("wsdlMissing00")); - } - else { - return new javax.xml.rpc.Call[0]; - } + + javax.xml.rpc.Call[] array = new javax.xml.rpc.Call[]{createCall(portName)}; + return array; } /** @@ -550,6 +576,7 @@ * @return QName Fully qualified name of this service. */ public QName getServiceName() { + if ( serviceName != null ) return serviceName; if ( wsdlService == null ) return( null ); QName qn = wsdlService.getQName(); return( new QName( qn.getNamespaceURI(), qn.getLocalPart() ) ); @@ -565,10 +592,6 @@ * required WSDL metadata */ public Iterator getPorts() throws ServiceException { - if ( wsdlService == null ) { - throw new ServiceException(JavaUtils.getMessage("wsdlMissing00")); - } - Map map = wsdlService.getPorts(); if ( map == null ) { 1.13 +1 -1 xml-axis/java/src/org/apache/axis/client/ServiceFactory.java Index: ServiceFactory.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/client/ServiceFactory.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- ServiceFactory.java 20 Jun 2002 16:48:17 -0000 1.12 +++ ServiceFactory.java 27 Jun 2002 18:06:17 -0000 1.13 @@ -247,6 +247,6 @@ */ public javax.xml.rpc.Service createService(QName serviceName) throws ServiceException { - return new Service(); + return new Service(serviceName); } // createService }