please advise!
Defined on server side:
/////////////////
#StreamingAttachment(parseEagerly=true)
#MTOM(threshold=10000000 )
/////////////////
Everything compiles with no errors.
When jetty is started, below error is shown:
2012-05-16 04:31:48.403::INFO: jetty-6.1.4
SEVERE : May 16, 2012 4:31:49 AM: WSSERVLET11: failed to parse runtime descriptor: javax.xml.ws.WebServiceException: Annotation #com.sun.xml.internal.ws.developer.Str
mingAttachment(parseEagerly=true, dir=, memoryThreshold=1048576) is not recognizable, atleast one constructor of class com.sun.xml.internal.ws.developer.StreamingAtta
mentFeature should be marked with #FeatureConstructor (com.sun.xml.ws.transport.http.servlet.WSServletContextListener::contextInitialized)
javax.xml.ws.WebServiceException: Annotation #com.sun.xml.internal.ws.developer.StreamingAttachment(parseEagerly=true, dir=, memoryThreshold=1048576) is not cognizable, atleast one constructor of class com.sun.xml.internal.ws.developer.StreamingAttachmentFeature should be marked with #FeatureConstructor
Related
I have a JSR325 (Chunk processing) based java batch program and trying to run in Java SE mode using JBERET implementation. I am following the approach mentioned in this this http://www.mastertheboss.com/javaee/batch-api/running-batch-jobs-in-j2se-applications
The java batch program in Java SE mode runs fine from Eclipse but, when packaged as a Jar and run from command prompt, am getting the following exception.
What could be the problem ?
INFO: WELD-000119: Not generating any bean definitions from org.h2.value.ValueGeometry because of underlying class loading error: Ty
pe com.vividsolutions.jts.geom.CoordinateSequenceFilter not found. If this is unexpected, enable DEBUG logging to see the full erro
r.
Exception in thread "main" java.util.ServiceConfigurationError: javax.batch.operations.JobOperator: Provider org.jberet.operations.J
obOperatorImpl could not be instantiated
at java.util.ServiceLoader.fail(ServiceLoader.java:236)
at java.util.ServiceLoader.access$100(ServiceLoader.java:193)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:389)
at java.util.ServiceLoader$1.next(ServiceLoader.java:457)
at javax.batch.runtime.BatchRuntime.getJobOperator(BatchRuntime.java:57)
at com.citi.Report.App.main(App.java:15)
Caused by: org.jboss.weld.exceptions.DeploymentException: incompatible InnerClasses attribute between "javax.el.BeanELResolver$1" an
d "javax.el.BeanELResolver"
at org.jboss.weld.executor.AbstractExecutorServices.checkForExceptions(AbstractExecutorServices.java:66)
at org.jboss.weld.executor.AbstractExecutorServices.invokeAllAndCheckForExceptions(AbstractExecutorServices.java:43)
at org.jboss.weld.executor.AbstractExecutorServices.invokeAllAndCheckForExceptions(AbstractExecutorServices.java:51)
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer.createClassBeans(ConcurrentBeanDeployer.java:72)
at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:260)
at org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:351)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:79)
at org.jboss.weld.bootstrap.api.helpers.ForwardingBootstrap.deployBeans(ForwardingBootstrap.java:63)
at org.jboss.weld.environment.se.Weld.initialize(Weld.java:143)
at org.jberet.se.SEArtifactFactory.<init>(SEArtifactFactory.java:31)
at org.jberet.se.BatchSEEnvironment.getArtifactFactory(BatchSEEnvironment.java:89)
at org.jberet.operations.JobOperatorImpl.<init>(JobOperatorImpl.java:69)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1887)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:385)
... 3 more
Caused by: java.lang.IncompatibleClassChangeError: incompatible InnerClasses attribute between "javax.el.BeanELResolver$1" and "java
x.el.BeanELResolver"
at java.lang.Class.getDeclaringClass(Class.java:1034)
at java.lang.Class.getEnclosingClass(Class.java:2604)
at org.jboss.weld.util.reflection.Reflections.isNonStaticInnerClass(Reflections.java:388)
at org.jboss.weld.util.Beans.isTypeManagedBeanOrDecoratorOrInterceptor(Beans.java:486)
at org.jboss.weld.bootstrap.BeanDeployer.createClassBean(BeanDeployer.java:233)
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:74)
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:72)
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60)
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53)
at java.util.concurrent.FutureTask.run(FutureTask.java:274)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
at java.lang.Thread.run(Thread.java:809)
I think the problem lies in some discrepency in dependencies. Here is a detailed discussion on this error in general:
What causes java.lang.IncompatibleClassChangeError?
Many people have asked for help with this error:
javax.naming.NamingException: Failed to create remoting connection [Root exception is java.lang.NoSuchMethodError: org.jboss.remoting3.Remoting.createEndpoint(Ljava/lang/String;Lorg/xnio/OptionMap;)Lorg/jboss/remoting3/Endpoint;]
at
org.jboss.naming.remote.client.ClientUtil.namingException(ClientUtil.java:51)
at
org.jboss.naming.remote.client.InitialContextFactory.getInitialContext(InitialContextFactory.java:152)
at
javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
...
But no request I can find ever provides a conclusive answer. Just suggestions to tinker with jars.
I believe that’s because there’s an inconsistency in the structure of Jboss interfaces. Can anyone confirm or correct that?
Here’s my code that throws the above error:
final private Properties env = new Properties() {
{put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
put(Context.PROVIDER_URL, "http-remoting://localhost:9990");
put(Context.SECURITY_PRINCIPAL, "myID");
put(Context.SECURITY_CREDENTIALS, "myPassword");
put("jboss.naming.client.ejb.context", true);
}
};
/****************************************************
* myID & myPassword open the Admin GUI for wildfly *
* on localhost:9990 *
****************************************************/
Context ctx = new InitialContext(this.env);
To determine the required jars I removed all jars from the Build path.
Then I ran my program till all ClassNotFoundException were gone.
First Error
java.lang.ClassNotFoundException:
org.jboss.naming.remote.client.InitialContextFactory]
Added jboss-remote-naming-1.0.7.final.jar to class path
Second Error
java.lang.NoClassDefFoundError:
org/jboss/logging/Logger
Added jboss-logging.jar
Third Error
java.lang.NoClassDefFoundError:
org/xnio/Options
Added xnio-api-3.0.7.ga.jar
Fourth Error
java.lang.NoClassDefFoundError:
org/jboss/remoting3/spi/ConnectionProviderFactory
Added jboss-remoting-3.jar
Fifth Error
java.lang.NoClassDefFoundError:
org/jboss/ejb/client/EJBClientContextIdentifier
Added jboss-ejb-client-1.0.19.final.jar
FINAL AND FATAL ERROR
(Note: All NoClassDefFoundError have been cleared)
java.lang.NoSuchMethodError: org.jboss.remoting3.Remoting.createEndpoint(Ljava/lang/String;Lorg/xnio/OptionMap;)Lorg/jboss/remoting3/Endpoint;]
Using Eclipse’s Project Explorer I verified:
a. jboss-remoting3.jar has the org.jboss.remoting3.Remoting Class.
b. That Remoting Class has this Method:
public Endpoint createEndpoint (String, Executor, OptionMap)
Note it calls for 3 parameters.
BUT the FINAL FATAL ERROR above calls for
public Endpoint createEndpoint (String, OptionMap)
Note: it calls for 2 parameters. Hence the NoSuchMethodError.
Looking at the top lines in the stack trace, I guess
org.jboss.naming.remote.client.InitialContextFactory.getInitialContext() is trying to call org.jboss.remoting3.Remoting.createEndpoint() using 2 parameters, but org.jboss.remoting3.Remoting only defines createEndpoint() with a 3-paramater signature.
Is that supposed to even be possible?
A jar that says it has the org.jboss.remoting3 package whose Remoting class has a single createEndpoint() method with a 3-parameter signature, and another jar that says it has the org.jboss.remoting3 package whose Remoting class has another createEndpoint() method with a 2-parameter signature?
HELP!
I mean do I need to look through every org.jboss.remoting3 package to find one whose Remoting class has a 2 parameter createEnpoint() method?
Or am I missing something important.
I mean this does explain how many questions have been posted about this error:
javax.naming.NamingException: Failed to create remoting connection [Root exception is java.lang.NoSuchMethodError: org.jboss.remoting3.Remoting.createEndpoint(Ljava/lang/String;Lorg/xnio/OptionMap;)Lorg/jboss/remoting3/Endpoint;]
And explain why there is never a conclusive explanation or solution other than fiddling with jars and build path.
I mean getting an InitialContext from WildFly running on the same PC as the Java program should be a trivial process. But it hasn’t been. Maybe it's because of inconsistencies in the API.
Thanks to Christoph Böhme:
jboss-logging-3.1.4.GA.jar has an org.jboss.remeoting package with a Remoting class that has createEndpoint() with a 0, 2 and 3 parameter signature.
Replacing jboss-remoting-4.0.7.Final.jar with the above jar was all it required to clear the NoSuchMethodError.
Hope that helps others.
We upgrade CXF from v2.2.6 to v2.7.16. When we start IBM WebSphere Application Server v7.0.0.33 in Linux machine, error is reported for jaxws_asm/RetrieveRssFeedResponse:
Caused by: java.lang.ClassFormatError: JVMCFRE114 field name is invalid; class=com/abc/mobile/service/rss/jaxws_asm/RetrieveRssFeedResponse, offset=0
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:287)
at java.lang.ClassLoader.defineClass(ClassLoader.java:224)
at org.apache.cxf.common.util.ASMHelper$TypeHelperClassLoader.defineClass(ASMHelper.java:367)
at org.apache.cxf.common.util.ASMHelper.loadClass(ASMHelper.java:316)
at org.apache.cxf.jaxws.WrapperClassGenerator.createWrapperClass(WrapperClassGenerator.java:229)
Here is our current understanding:
This error does not occur in local Windows machine WAS7.0.0.11
Class jaxws_asm.RetrieveRssFeedResponse does not exist at compile time. Instead, it's generated by CXF at runtime.
Our application code has Java package: com/abc/mobile/service/rss
Class WrapperClassGenerator in org.apache.cxf/cxf-bundle.jar/2.7.16 appends Java package “jaxws_asm” at line 160:
String pkg = new StringBuilder().append(getPackageName(method)).append(".jaxws_asm").append(anonymous ? "_an" : "").toString();
Our application code com.abc.mobile.service.rss.GlobalProductRssService.java has:
#WebMethod(operationName = "retrieveRssFeed")
Class WrapperClassGenerator in org.apache.cxf/cxf-bundle.jar/2.7.16 appends class name “Response” at line 164:
className = new StringBuilder().append(className).append("Response").toString();
We tried to add asm/asm.jar/3.3.1 to WEB-INF/lib or WAS7.0/java/jre/lib/ext. It did not help.
We have enabled class loading trace log by following IBM MustGather document: http://www-01.ibm.com/support/docview.wss?uid=swg21196187.
Trace log shows that "jaxws.RetrieveRssFeedResponse" is being loaded:
[1/5/16 11:39:04:447 EST] 00000014 CompoundClass > loadClass com.abc.mobile.service.rss.jaxws.RetrieveRssFeedResponse this=com.ibm.ws.classloader.CompoundClassLoader#736d736d[PL][war:US-EAR/US.war] Entry
[1/5/16 11:39:04:447 EST] 00000014 CompoundClass > loadClass com.abc.mobile.service.rss.jaxws.RetrieveRssFeedResponse this=com.ibm.ws.classloader.CompoundClassLoader#70207020[app:US-EAR] Entry
[1/5/16 11:39:04:448 EST] 00000014 CompoundClass < loadClass com.abc.mobile.service.rss.jaxws.RetrieveRssFeedResponse failed Exit
[1/5/16 11:39:04:448 EST] 00000014 CompoundClass < loadClass com.abc.mobile.service.rss.jaxws.RetrieveRssFeedResponse failed Exit
I have not found out why the above class loading trace log loads "jaxws.RetrieveRssFeedResponse". It's highly appreciated if anyone could share any clue about how to solve this ClassFormatError.
Thank you so much for your help. The issue has been solved by removing "[]" from #WebResult annotation. In other words, originally our application code has:
#WebMethod(operationName = "retrieveRssFeed")
#WebResult(name = "RssChannelDTO[]")
The error is solved by changing it to:
#WebMethod(operationName = "retrieveRssFeed")
#WebResult(name = "RssChannelDTO")
What we have done is:
Modify CXF/2.7.16/ASMHelper.java defineClass() method to print the dynamically generated classes. Totally 302 classes have been printed out.
System.out.println("***********ASMHelper.TypeHelperClassLoader.defineClass(): " + name.replace('/', '.'));
try {
java.io.FileOutputStream fos = new java.io.FileOutputStream(name.replace('/', '.') + ".class");
fos.write(bytes);
fos.close();
} catch (java.io.IOException ioe) {
ioe.printStackTrace();
}
Among all 302 generated classes, only RetrieveRssFeedResponse.class has "[]" in field name
#XmlElement(name="RssChannelDTO[]")
private RssChannelDTO[] RssChannelDTO[];
Modify CXF/2.7.16/ASMHelper.java to add main method (because constructor of inner class TypeHelperClassLoader is private) to call loader.defineClass() method
After running main method, error is reported:
Exception in thread "main" java.lang.ClassFormatError: Illegal field name "RssChannelDTO[]" in class RetrieveRssFeedResponse
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.lang.ClassLoader.defineClass(ClassLoader.java:642)
at org.apache.cxf.common.util.ASMHelper$TypeHelperClassLoader.defineClass(ASMHelper.java:377)
at org.apache.cxf.common.util.ASMHelper.main(ASMHelper.java:513)
Then we modified our application code to remove "[]" from #WebResult annotation. The generated RetrieveRssFeedResponse.class has:
#XmlElement(name="RssChannelDTO")
private RssChannelDTO[] RssChannelDTO;
Now error is gone and our WebSphere Application Server v7.0 can be started without any error.
Regarding the IBM class loading trace log shows only "jaxws.RetrieveRssFeedResponse", I guess the situation is:
IBM logging statement might ignore "_" and anything after it during logging
But IBM class loader can still load "jaxws_asm.RetrieveRssFeedResponse"
Anyway, this is only my guess and I have not checked any IBM source code.
I am invoking the webservice through a camel route using cxf.
Camel Route :
....
.to("cxf:bean:UWServiceProxy")
....
My CXF Bean entry is as follows -
<cxf:cxfEndpoint id="UWServiceProxy"
address="http://sqdsql:8001/FirstGen/services/UWWebServiceProxy.UWWebServiceProxyHttpSoap11Endpoint/"
endpointName="c:UWWebServiceProxyHttpSoap11Endpoint"
serviceName="c:UWWebServiceProxy"
serviceClass="com.firstapex.pop.uw.webservices.UWWebServiceProxyPortType"
wsdlURL="http://sqdsql:8001/FirstGen/services/UWWebServiceProxy?wsdl"
xmlns:c="http://webservices.uw.pop.firstapex.com" />
But then while deploying the module in Apache ServiceMix, I get the following error -
java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653)[:1.6.0_27]
at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460)[:1.6.0_27]
at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286)[:1.6.0_27]
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)[:1.6.0_27]
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)[:1.6.0_27]
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)[:1.6.0_27]
at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)[:1.6.0_27]
at java.lang.Class.getAnnotation(Class.java:3029)[:1.6.0_27]
at com.sun.xml.internal.ws.model.RuntimeModeler$1.run(RuntimeModeler.java:165)[:1.6.0_27]
at com.sun.xml.internal.ws.model.RuntimeModeler$1.run(RuntimeModeler.java:163)[:1.6.0_27]
at java.security.AccessController.doPrivileged(Native Method)[:1.6.0_27]
at com.sun.xml.internal.ws.model.RuntimeModeler.getPrivClassAnnotation(RuntimeModeler.java:163)[:1.6.0_27]
at com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:199)[:1.6.0_27]
at com.sun.xml.internal.ws.client.WSServiceDelegate.createSEIPortInfo(WSServiceDelegate.java:687)[:1.6.0_27]
at com.sun.xml.internal.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:675)[:1.6.0_27]
at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:330)[:1.6.0_27]
at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:313)[:1.6.0_27]
at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:295)[:1.6.0_27]
at javax.xml.ws.Service.getPort(Service.java:134)[:2.2]
at com.firstapex.pop.uw.webservices.UWWebServiceProxy.getUWWebServiceProxyHttpEndpoint(UWWebServiceProxy.java:101)[305:traffic-insurance-services:1.0.0]
at com.ndfs.integration.tip.webservice.client.ATPNotificationServiceInvoker.process(ATPNotificationServiceInvoker.java:37)[305:traffic-insurance-services:1.0.0]
at org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:163)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:111)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:163)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:291)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:200)[124:org.apache.camel.camel-core:2.13.1]
at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:147)[124:org.apache.camel.camel-core:2.13.1]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_27]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_27]
at java.lang.Thread.run(Thread.java:662)[:1.6.0_27]
I understand the exception is occurred only when there is problem with the annotation, but the service and port code is generated by the CXF plugin using wsdl2java, hence I see that may not be the issue. Please help me in solving this issue. Any question for clarification will also be appreciated. Thanks in advance.
It is possible ( likely) that one of the generated classes is in a path ( package ) that you are not including in your path.
enter link description here
I wrote a small webservice and when i try to deploy it to glassfish i get this error: Error occurred during deployment: Exception while loading the app : EJB Container initialization error. Please see server.log for more details.
#WebService(serviceName = "Mathematics")
public class Mathematics
{
#WebMethod(operationName = "add")
public double add(#WebParam(name = "a") double a,
#WebParam(name = "b") double b)
{
return NovusMath.add(a, b);
}
}
Relevant portions of server.log:
[#|2012-02-04T21:25:45.437+0100|WARNING|glassfish3.1.1|
javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=39;
_ThreadName=Thread-2;|Illegal character in path at index 16:
file:/C:/Program Files/glassfish-3.1.1/glassfish/domains/domain1/applications/
Mathematics-web-1.0-SNAPSHOT/WEB-INF/lib/Mathematics-lib-1.0-SNAPSHOT.jar
java.net.URISyntaxException: Illegal character in path at index 16:
file:/C:/Program Files/glassfish-3.1.1/glassfish/domains/domain1/applications/
Mathematics-web-1.0-SNAPSHOT/WEB-INF/lib/Mathematics-lib-1.0-SNAPSHOT.jar
at java.net.URI$Parser.fail(URI.java:2827)
at java.net.URI$Parser.checkChars(URI.java:3000)
...
[#|2012-02-04T21:25:45.906+0100|SEVERE|glassfish3.1.1|
javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|
_ThreadID=39;_ThreadName=Thread-2;|
Exception while loading the app : EJB Container initialization error
javax.xml.ws.WebServiceException: WS00056 : Deployment cannot proceed as the ejb has a
null endpoint address uri.
Potential cause may be webservice endpoints not supported in embedded ejb case
at org.glassfish.webservices.WebServiceEjbEndpointRegistry.
registerEndpoint(WebServiceEjbEndpointRegistry.java:117)
If anyone could tell me what I am doing wrong I would greatly appreciate it.
Content of the server.log tells you nicely that problem occurs when trying to parse 17th (indexing starts from 0) character of
file:/C:/Program Files/glassfish-3.1.1/glassfish/...
This seems to be space. This refers to already fixed bug: GLASSFISH-17242
Your options are:
update Glassfish
avoid using space in path