Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Webservice deployed from directory archive on windows fails #627

Closed
pdudits opened this issue Jan 28, 2016 · 1 comment
Closed

Webservice deployed from directory archive on windows fails #627

pdudits opened this issue Jan 28, 2016 · 1 comment

Comments

@pdudits
Copy link
Contributor

pdudits commented Jan 28, 2016

Another day, another compatibility with GF3 issue with my project's tests.

When a webservice is deployed from a directory on Windows, invocation of that webservice throws:

java.lang.IllegalArgumentException: Illegal character in path at index 13: META-INF/wsdl\ChargePointEvent.wsdl
    at java.net.URI.create(URI.java:852)
    at java.net.URI.resolve(URI.java:1036)
    at org.glassfish.webservices.EjbRuntimeEndpointInfo.prepareInvocation(EjbRuntimeEndpointInfo.java:208)
    at org.glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:107)
    at org.glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:80)
    at org.glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:210)
    at org.glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:153)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.glassfish.grizzly.servlet.ServletHandler.doServletService(ServletHandler.java:226)
    at org.glassfish.grizzly.servlet.ServletHandler.service(ServletHandler.java:178)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.URISyntaxException: Illegal character in path at index 13: META-INF/wsdl\ChargePointEvent.wsdl
    at java.net.URI$Parser.fail(URI.java:2848)
    at java.net.URI$Parser.checkChars(URI.java:3021)
    at java.net.URI$Parser.parseHierarchical(URI.java:3105)
    at java.net.URI$Parser.parse(URI.java:3063)
    at java.net.URI.<init>(URI.java:588)
    at java.net.URI.create(URI.java:850)
    ... 28 more

The cause lies within ModuleContextValidator where in commit 41a46e4 forward slash was "fixed" by replacing it with File.separator. Fix for GLASSFISH-17039 on 3.1.2 branch did not contain this change. Since that is an uri, not a path, it should compose with forward slashes every time.

pdudits added a commit to pdudits/Payara that referenced this issue Jan 28, 2016
…tory fails

Fix for GLASSFISH-17039 contained a change in ModuleContextValidator where a
slash in fullFileUri was replaced with File.separator. However URIs are not
platform dependant and cannot contain backslashes.
@pdudits
Copy link
Contributor Author

pdudits commented Jan 29, 2016

Also reported upstream as https://java.net/jira/browse/GLASSFISH-21499.

Pandrex247 added a commit that referenced this issue Jan 29, 2016
Fix for Payara #627 - Invocation Webservice deployed from directory f…
Cousjava pushed a commit to Cousjava/Payara that referenced this issue Aug 21, 2019
PAYARA-3660: Supply Common Classloader as locator when CommonModelRegistry is unavailable

Approved-by: Andrew Pielage <andrew.pielage@payara.fish>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants