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 Glen Daniels <gd...@macromedia.com> on 2003/01/10 05:24:43 UTC

RE: cvs commit: xml-axis/java/src/org/apache/axis/client Service. java

Discovered this while playing with James' WSDL - new Service("file.wsdl", qname) wasn't working.  I think this fix does about the right thing, but please feel free to comment if I've missed something.

--G

> -----Original Message-----
> From: gdaniels@apache.org [mailto:gdaniels@apache.org]
> Sent: Thursday, January 09, 2003 11:23 PM
> To: xml-axis-cvs@apache.org
> Subject: cvs commit: xml-axis/java/src/org/apache/axis/client
> Service.java
> 
> 
> gdaniels    2003/01/09 20:22:37
> 
>   Modified:    java/src/org/apache/axis/client Service.java
>   Log:
>   The Service(String wsdlLocation) constructor wasn't working
>   with filenames.  Since we already do all the work to handle this
>   case in XmlUtils, replace the URL member variable with a String,
>   and let that code do its job.  The getWSDLDocumentLocation()
>   method may want a somewhat better implementation....
>   
>   Revision  Changes    Path
>   1.84      +10 -10    
> 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.83
>   retrieving revision 1.84
>   diff -u -r1.83 -r1.84
>   --- Service.java	17 Dec 2002 00:01:35 -0000	1.83
>   +++ Service.java	10 Jan 2003 04:22:37 -0000	1.84
>   @@ -108,7 +108,7 @@
>        private transient EngineConfiguration config = null;
>    
>        private QName               serviceName     = null ;
>   -    private URL                 wsdlLocation    = null ;
>   +    private String              wsdlLocation    = null ;
>        private javax.wsdl.Service  wsdlService     = null ;
>        private boolean             maintainSession = false ;
>        private HandlerRegistryImpl registry = new 
> HandlerRegistryImpl();
>   @@ -180,7 +180,7 @@
>        public Service(URL wsdlDoc, QName serviceName) throws 
> ServiceException {
>            this.serviceName = serviceName;
>            engine = getAxisClient();
>   -        this.wsdlLocation = wsdlDoc;
>   +        wsdlLocation = wsdlDoc.toString();
>            Parser parser = null ;
>    
>            if ( cachingWSDL &&
>   @@ -226,22 +226,18 @@
>        public Service(String wsdlLocation, QName serviceName)
>                               throws ServiceException {
>            this.serviceName = serviceName;
>   +        this.wsdlLocation = wsdlLocation;
>            engine = getAxisClient();
>   -        try {
>   -            this.wsdlLocation = new URL(wsdlLocation);
>   -        }
>   -        catch (MalformedURLException mue) {
>   -        }
>            // Start by reading in the WSDL using Parser
>            Parser parser = null ;
>            if ( cachingWSDL &&
>   -             (parser = (Parser) 
> cachedWSDL.get(this.wsdlLocation.toString())) != null ) {
>   +             (parser = (Parser) 
> cachedWSDL.get(wsdlLocation)) != null ) {
>              initService( parser, serviceName );
>            }
>            else {
>                Document doc = null;
>                try {
>   -                doc = 
> XMLUtils.newDocument(this.wsdlLocation.toString());
>   +                doc = XMLUtils.newDocument(wsdlLocation);
>                } catch (Exception exp ) {
>                    throw new ServiceException(
>                       Messages.getMessage("wsdlError00", "" + 
> "", "\n" + exp) );
>   @@ -593,7 +589,11 @@
>         * @return URL URL pointing to the WSDL doc
>         */
>        public URL getWSDLDocumentLocation() {
>   -        return wsdlLocation ;
>   +        try {
>   +            return new URL(wsdlLocation);
>   +        } catch (MalformedURLException e) {
>   +            return null;
>   +        }
>        }
>    
>        /**
>   
>   
>   
>