Graham, I've checked the history of the SimpleURIResolver code to find out why it does URL>URI>URL.openStream(). Prior to r522465 (26/3/07), the code did URL>URI>FileInputStream. However this didn't work when the schema.catalog was in a jar file so r522465 modified the code to use URL.openStream() instead of the FileInputStream. The code change was just to convert the URI back to a URL to call the openStream() method.
So, it looks like the URI no longer necessary - just a leftover from the FileInputStream approach. My patch removes the URI conversion step and just calls the openStream() method on the original URL, and this does work OK when the path contains spaces as in "C:/Program Files/....". Unless there are any objections I'll go ahead and commit the patch. regards, John Kaputin John Kaputin/UK/[EMAIL PROTECTED] wrote on 20/12/2007 00:35:22: > Graham, > can you take a look at my patch to SimpleURIResolver in JIRA WODEN-191 and > tell me if you see any problem with this change. I have tested the change > use the Woden JUnit test suite and the W3C WSDL 2.0 test suite - all tests > pass. > > thanks, > John Kaputin > > > John Kaputin/UK/[EMAIL PROTECTED] wrote on 19/12/2007 16:34:34: > > > There are two errors showing in the trace: > > > > The first error is: > > > > java.net.URISyntaxException: Illegal character in path at index 16: > > > file:/C:/Program Files/Apache Software Foundation/Tomcat 5.0/ > > > work/Catalina/localhost/axis2/loader/META-INF/schema.catalog > > > > This is because spaces in the path have not been escaped to %20. I > cannot > > recreate this error. I have tested Woden with the IBM 1.42 and Sun 1.42 > > > JREs and in both cases the URL created by the Classloader.getResource > > method for the schema.catalog file does have the spaces in the path > > escaped to %20, so the URI ctor does not throw a URISyntaxException. > > > > I have tried this with Woden M7b (used for the last Axis2 release) > using > > the binary jar file and then unpacking the jar and using the class files > > > directly. The output from my test client shows that the paths contain > %20, > > not spaces: > > > > jar:file:/C:/Program%20Files/woden/woden-1.0-incubating-M7b.jar! > > /META-INF/schema.catalog > > file:/C:/Program%20Files/woden/META-INF/schema.catalog > > > > Do you know which JRE you are using with Tomcat? Or maybe it's not the > JRE > > classloader being used. Do you know if Tomcat is using a different > > classloader? If so, it might have different behaviour its getResource > > method (it might not escape spaces to %20 as the IBM and Sun JRE > > Classloaders do)? > > > > I think I can try changing the Woden code so that it doesn't create a > URI. > > Currently it looks like it creates the URL of the schema.catalog file, > > then converts it to a URI (which is when the current URISyntaxException > > occurs), then converts it back to a URL to call the URL.openConnection > > method. I'm not sure why it creates the URI. I can try removing the URI > > step, but am not sure what will happen in the openConnection method if > the > > URL path contains spaces as in your Tomcat scenario. Will post again > after > > I've tried this. > > > > The second error is: > > > > > Woden[Error],0:0,Endpoint-1061,The address 'WDGetStatusService' > > > specified for this endpoint is not an absolute IRI. The address must > > > be absolute. > > > > It looks like your WSDL is violating the WSDL 2.0 assertion > Endpoint-1061. > > Make sure your endpoint address is an absolute URI. See the WSDL 2.0 > spec > > for further explanation. > > > > regards, > > John Kaputin > > > > > > [EMAIL PROTECTED] wrote on 19/12/2007 04:01:37: > > > > > > > > Requested you to plz help me out to resolve problems, mention belowin > > > mail.. > > > > > > > > > ----- Forwarded by gyanesh.mishra/Polaris on 12/19/2007 09:30 AM ----- > > > > > > > gyanesh.mishra/Polaris > > > 12/18/2007 05:37 PM > > > > > > To > > > > > > [email protected] > > > > > > cc > > > > > > Subject > > > > > > Required Help: Error while deploying web services using WSDL 2.0 on > > > Apache Axis 2.0 > > > > > > > > > > > > > > > Hi, > > > > > > Currently I am working on web service generation using Apache Axis 2 > > > version 1.3. > > > > > > I am trying to incorporateWSDL2.0 in this development. I am able to > > > successfully generate the stubs from WSDL 2.0 file but when i try to > > > deploy it on Tomcat 5.0 > > > and Weblogic 8.1.It prompts me following error: > > > > > > On Tomcat 5.0: > > > > > > java.net.URISyntaxException: Illegal character in path at index 16: > > > file:/C:/Program Files/Apache Software Foundation/Tomcat 5.0/ > > > work/Catalina/localhost/axis2/loader/META-INF/schema.catalog > > > at java.net.URI$Parser.fail(URI.java:2816) > > > at java.net.URI$Parser.checkChars(URI.java:2989) > > > at java.net.URI$Parser.parseHierarchical(URI.java:3073) > > > at java.net.URI$Parser.parse(URI.java:3021) > > > at java.net.URI.<init>(URI.java:578) > > > at org.apache.woden.internal.resolver.SimpleURIResolver. > > > loadCatalog(SimpleURIResolver.java:180) > > > at org.apache.woden.internal.resolver.SimpleURIResolver. > > > loadCatalog(SimpleURIResolver.java:166) > > > at org.apache.woden.internal.resolver.SimpleURIResolver. > > > <init>(SimpleURIResolver.java:123) > > > at org.apache.woden.internal.BaseWSDLReader. > > > <init>(BaseWSDLReader.java:116) > > > at org.apache.woden.internal.DOMWSDLReader. > > > <init>(DOMWSDLReader.java:89) > > > at org.apache.woden.internal.DOMWSDLFactory. > > > newWSDLReader(DOMWSDLFactory.java:35) > > > at org.apache.axis2.description.WSDL20ToAxisServiceBuilder. > > > setup(WSDL20ToAxisServiceBuilder.java:379) > > > at org.apache.axis2.description. > > > WSDL20ToAllAxisServicesBuilder. > > > populateAllServices(WSDL20ToAllAxisServicesBuilder.java:71 > > > ) > > > at org.apache.axis2.deployment.repository.util. > > > ArchiveReader.processWSDLFile(ArchiveReader.java:232) > > > at org.apache.axis2.deployment.repository.util. > > > ArchiveReader.processWSDLs(ArchiveReader.java:332) > > > at org.apache.axis2.deployment.ServiceDeployer. > > > deploy(ServiceDeployer.java:64) > > > at org.apache.axis2.deployment.repository.util. > > > DeploymentFileData.deploy(DeploymentFileData.java:137) > > > at org.apache.axis2.deployment.DeploymentEngine. > > > doDeploy(DeploymentEngine.java:571) > > > at org.apache.axis2.deployment.repository.util.WSInfoList. > > > update(WSInfoList.java:141) > > > at org.apache.axis2.deployment.RepositoryListener. > > > update(RepositoryListener.java:318) > > > at org.apache.axis2.deployment.RepositoryListener. > > > checkServices(RepositoryListener.java:220) > > > at org.apache.axis2.deployment.DeploymentEngine. > > > loadServices(DeploymentEngine.java:118) > > > at org.apache.axis2.deployment.WarBasedAxisConfigurator. > > > loadServices(WarBasedAxisConfigurator.java:272) > > > at org.apache.axis2.context.ConfigurationContextFactory. > > > createConfigurationContext(ConfigurationContextFactory.java:78) > > > at org.apache.axis2.transport.http.AxisServlet. > > > initConfigContext(AxisServlet.java:500) > > > at org.apache.axis2.transport.http.AxisServlet. > > > init(AxisServlet.java:420) > > > at org.apache.catalina.core.StandardWrapper. > > > loadServlet(StandardWrapper.java:1029) > > > at org.apache.catalina.core.StandardWrapper. > > > load(StandardWrapper.java:862) > > > at org.apache.catalina.core.StandardContext. > > > loadOnStartup(StandardContext.java:4013) > > > at org.apache.catalina.core.StandardContext. > > > start(StandardContext.java:4357) > > > at org.apache.catalina.core.ContainerBase. > > > addChildInternal(ContainerBase.java:823) > > > at org.apache.catalina.core.ContainerBase. > > > addChild(ContainerBase.java:807) > > > at org.apache.catalina.core.StandardHost. > > > addChild(StandardHost.java:595) > > > at org.apache.catalina.core.StandardHostDeployer. > > > install(StandardHostDeployer.java:277) > > > at org.apache.catalina.core.StandardHost. > > > install(StandardHost.java:832) > > > at org.apache.catalina.startup.HostConfig. > > > deployDirectories(HostConfig.java:701) > > > at org.apache.catalina.startup.HostConfig. > > > deployApps(HostConfig.java:432) > > > at > > org.apache.catalina.startup.HostConfig.start(HostConfig.java:983) > > > at org.apache.catalina.startup.HostConfig. > > > lifecycleEvent(HostConfig.java:349) > > > at org.apache.catalina.util.LifecycleSupport. > > > fireLifecycleEvent(LifecycleSupport.java:119) > > > at org.apache.catalina.core.ContainerBase. > > > start(ContainerBase.java:1091) > > > at > > org.apache.catalina.core.StandardHost.start(StandardHost.java:789) > > > at org.apache.catalina.core.ContainerBase. > > > start(ContainerBase.java:1083) > > > at org.apache.catalina.core.StandardEngine. > > > start(StandardEngine.java:478) > > > at org.apache.catalina.core.StandardService. > > > start(StandardService.java:480) > > > at org.apache.catalina.core.StandardServer. > > > start(StandardServer.java:2313) > > > at > org.apache.catalina.startup.Catalina.start(Catalina.java:556) > > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > at sun.reflect.NativeMethodAccessorImpl. > > > invoke(NativeMethodAccessorImpl.java:39) > > > at sun.reflect.DelegatingMethodAccessorImpl. > > > invoke(DelegatingMethodAccessorImpl.java:25) > > > at java.lang.reflect.Method.invoke(Method.java:585) > > > at > > org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287) > > > at > > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425) > > > Woden[Warning],0:0,WSDL504,Could not locate the schema document at URL > " > > > http://www.w3.org/2001/XMLSchema.xsd",java.net.ConnectExc > > > eption:Connection timed out: connect > > > Woden[Warning],0:0,WSDL504,Could not locate the schema document at URL > " > > > http://www.w3.org/2001/XMLSchema",java.net.ConnectExcepti > > > on:Connection timed out: connect > > > Woden[Error],0:0,Endpoint-1061,The address 'WDGetStatusService' > > > specified for this endpoint is not an absolute IRI. The address must > > > be absolute. > > > > > > > > > On Weblogic 8.1: > > > > > > > > > Woden[Error],0:0,Endpoint-1061,The address 'WDGetStatusService' > > > specified for this endpoint is not an absolute IRI. The address must > > > be absolute. > > > > > > > > > > > > Please help me out to resolve this error. > > > > > > Thanks in advance...... > > > > > > > > > Regards > > > Supriya V. Surve > > > Polaris Software Lab Ltd. > > > Tel- 022-66482282 > > > > > > > > > > > > > > " Save Paper - Do you really need to print this e-mail? " > > > > > > This e-Mail may contain proprietary and confidential information and > > > is sent for the intended recipient(s) only. If by an addressing or > > > transmission error this mail has been misdirected to you, you are > > > requested to delete this mail immediately. You are also hereby > > > notified that any use, any form of reproduction, dissemination, > > > copying, disclosure, modification, distribution and/or publication > > > of this e-mail message, contents or its attachment other than by its > > > intended recipient/s is strictly prohibited. > > > > > > Visit us at http://www.polaris.co.in > > > > > > > > > > > > > > Unless stated otherwise above: > > IBM United Kingdom Limited - Registered in England and Wales with number > > > 741598. > > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 > 3AU > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > Unless stated otherwise above: > IBM United Kingdom Limited - Registered in England and Wales with number > 741598. > Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
