-
1. Re: Teiid -- SybaseIQ jdbc connection issue
tejones Oct 14, 2010 4:57 PM (in response to bo.sun)Bo,
Looks like your Sybase driver is not in the classpath: Caused by: java.lang.ClassNotFoundException: com.sybase.jdbc3.jdbc.SybDriver
Try adding the driver jar to the lib of the JBossAS instance you are running.
Thanks,
Ted
-
2. Re: Teiid -- SybaseIQ jdbc connection issue
bo.sun Oct 18, 2010 11:07 AM (in response to tejones)thanks, Ted.
It did help to get rid of : unable to get managed connection ... error. thanks.
now when I tried to test select statement to access sybaseIQ:
select count(*) from OPTIMA_IQSIT.OSW.om_bnkbk;
I got error:
13:32:09,279 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-aistelab01.nam.nsroot.net%2F169.193.184.113-8009
13:32:09,286 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 33s:640ms
13:32:31,399 INFO [CONNECTOR] SybaseExecutionFactory Commit=true;DatabaseProductName=Sybase IQ;DatabaseProductVersion=Sybase IQ/15.1.0.5043/100427/P/ESD 3/RS6000MP/AIX 5.3.0/64bit/2010-04-27 14:40:30;DriverMajorVersion=6;DriverMajorVersion=0;DriverName=jConnect (TM) for JDBC (TM);DriverVersion=jConnect (TM) for JDBC(TM)/6.05(Build 26515)/P/EBF16508/JDK14/Fri Jan 16 12:48:51 2009;IsolationLevel=1
13:32:31,480 WARN [CONNECTOR] Connector worker process failed for atomic-request=P9ZSjGOKM8Is.5.2.0
[JDBCExecutionException] SQL Anywhere Error -141: Table 'om_bnkbk' not foundExecuting statement:
[Prepared Values: [] SQL: SELECT COUNT(*) FROM om_bnkbk g_0]: Error Code:SQL Anywhere Error -141: Table 'om_bnkbk' not found
Executing statement:
[Prepared Values: [] SQL: SELECT COUNT(*) FROM om_bnkbk g_0] Message:2706
at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:88)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:267)
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:181)
at org.teiid.dqp.internal.process.DataTierTupleSource.access$000(DataTierTupleSource.java:53)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:89)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:86)
at org.teiid.dqp.internal.process.DQPCore$FutureWork.run(DQPCore.java:107)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:188)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:116)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:290)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
13:32:31,497 WARN [PROCESSOR] Processing exception 'Error Code:SQL Anywhere Error -141: Table 'om_bnkbk' not foundExecuting statement:
[Prepared Values: [] SQL: SELECT COUNT(*) FROM om_bnkbk g_0] Message:Error Code:SQL Anywhere Error -141: Table 'om_bnkbk' not found
Executing statement:
[Prepared Values: [] SQL: SELECT COUNT(*) FROM om_bnkbk g_0] Message:2706' for request P9ZSjGOKM8Is.5. Exception type org.teiid.core.TeiidProcessingException thrown from org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:88). Enable more detailed logging to see the entire stacktrace.
I know the table existing, as I can access it's metadata, and if I jdbc connect directly to sybaseIQ, I can get the table.
where am I wrong in setting? please enlighten me. thanks.
Best regards,
Bo
----------------
on 10/18/2010:
if I do select * from sysobjects; I got following error:
Error: Remote org.teiid.api.exception.query.QueryResolverException: Group does not exist: sysobjects
SQLState: 50000
ErrorCode: 0what is the group name needed here?
-
3. Re: Teiid -- SybaseIQ jdbc connection issue
shawkins Oct 18, 2010 1:25 PM (in response to bo.sun)Bo,
You may need to do the import using the fully qualified source names. There should be an option for this in the import wizard.
See the reference for system schema documentation. If you want to see all of the Teiid tables, then use select * from sys.tables
Steve
-
4. Re: Teiid -- SybaseIQ jdbc connection issue
bo.sun Oct 18, 2010 3:21 PM (in response to shawkins)thanks for the reply, Steven.
I re-created the data source after importing using the fully qualified source name. It still give me error:
so I select * from sys.tables;
I can see table name: OPTIMA_IQSIT.OSW.err_cap_mdata_rule/NameInSource: err_cap_mdata_rule. when I select * from OPTIMA_IQSIT.OSW.err_cap_mdata_rule. I got:
Executing statement:
[Prepared Values: [] SQL: SELECT g_0.PROCESS_ID, g_0.RULE_ID, g_0.EFF_DT, g_0.SEQNO, g_0.MSTR_BAL_LEVEL_FLG, g_0.PRODUCT_LINE, g_0.FIELD_NAME, g_0.EFF_STATUS, g_0.DEPENDANT_FLAG, g_0.PARENT_FLD_NAME, g_0.DESC100, g_0.LASTUPDOPRID, g_0.LASTUPDDTTM FROM err_cap_mdata_rule g_0] Message:Error Code:SQL Anywhere Error -141: Table 'err_cap_mdata_rule' not found
Executing statement:
[Prepared Values: [] SQL: SELECT g_0.PROCESS_ID, g_0.RULE_ID, g_0.EFF_DT, g_0.SEQNO, g_0.MSTR_BAL_LEVEL_FLG, g_0.PRODUCT_LINE, g_0.FIELD_NAME, g_0.EFF_STATUS, g_0.DEPENDANT_FLAG, g_0.PARENT_FLD_NAME, g_0.DESC100, g_0.LASTUPDOPRID, g_0.LASTUPDDTTM FROM err_cap_mdata_rule g_0] Message:2706
SQLState: 50000
ErrorCode: 0I noted in jboss server log. I have following warning:
15:13:12,541 WARN [AbstractManagedObjectPopulator] Cannot create String name from non-Simple property: ManagedProperty{JNDIName,JNDIName,metaType=SimpleMetaType:java.lang.String}, value=null
15:13:12,544 WARN [AbstractManagedObjectPopulator] Cannot create String name from non-Simple property: ManagedProperty{JNDIName,JNDIName,metaType=SimpleMetaType:java.lang.String}, value=nullIt seems to me that by playing 'source object names' empty/unqualified source name/fully-qualified source name, or playing 'include in model' and check out database/owner. The result in sys.tables are the same.
I have oracle ds in VDB, it works perfect fine.
any idea?
Best regards,
Bo
-
5. Re: Teiid -- SybaseIQ jdbc connection issue
rareddy Oct 18, 2010 5:01 PM (in response to bo.sun)Bo,
The warnings are not related to this issue. I would turn on the command logging, to see what queries that Teiid engine is sending to the Sybase source. To turn on command logging, edit the <jboss-as>/server/conf/jboss-log4j.xml file and add
<logger name="org.teiid.COMMAND_LOG" > <level value="DEBUG"/> </logger>
then restart the JBoss AS, now when you issue a query on your client, you will see a log message with exact SQL query is being passed to the SYBASE database. If you execute the same query in SquirreL you will see the same error. Looking at that we may be able to help more as to what is going on?
Hope this helps.
Ramesh..
-
6. Re: Teiid -- SybaseIQ jdbc connection issue
shawkins Oct 19, 2010 10:13 AM (in response to rareddy)From the exceptions in your last post it looks like the source queries "SELECT g_0.PROCESS_ID, ... FROM err_cap_mdata_rule g_0" still aren't fully qualified. I would expect to see err_cap_mdata_rule with a schema qualifier. You can follow Ramesh's suggestion to get a clearer picture of what is going on.
The option to fully-qualify the source names should change the "name in source" to a qualified name. This would show up in the table properties in designer or in SYS.tables. If you're sure that you can't get the metadata imported properly (you can also manually change the name in source just to validate that the Teiid query will work), then we'll need to open an issue with designer.
Steve
-
7. Re: Teiid -- SybaseIQ jdbc connection issue
bo.sun Oct 19, 2010 12:53 PM (in response to shawkins)Steven/Ramesh, thanks for the replies.
please let me elaborate the story here, I have tried to re-create data source mutiple times, in import wizard, I tried combination of
selecting 'source object names' with fully-qualified source name, together selecting 'include in model' with database/owner both checked.
When I select * from sys.tables, the value in 'nameinsource' column are remaining the same, not qualified. I am attaching the photo of my screen.
I understand that if Teiid passes to SybaseIQ with fully qualified table in select statement, I will success. However, Teiid seems interpret my fully qualified table name into non-qualified table name (i guess using sys.tables' nameinsource column). Is this Teiid designer issue? please test your designer with any db jdbc connection to see if you have different result.
Steven, how to manually change the name in source? please advice.
thanks alot.
Best regards,
Bo
-
-
-
10. Re: Teiid -- SybaseIQ jdbc connection issue
rareddy Oct 19, 2010 2:05 PM (in response to bo.sun)Bo,
"name" is what your clients will use. The "name in source" is the name that Teiid will use to issue the query to the SYBASE source. So, using SquirreL can you issue a command like "select * from OPTIMA_IQSIT.OSW.om_bnkbk"?
Can you also tell us what version of "jConnect" jdbc driver and SYBASE version you are using?
Ramesh..
-
11. Re: Teiid -- SybaseIQ jdbc connection issue
bo.sun Oct 20, 2010 9:03 AM (in response to rareddy)Ramesh,
when I connect to Teiid, and issue command: "select * from OPTIMA_IQSIT.OSW.om_bnkbk"
Error: Error Code:SQL Anywhere Error -141: Table 'om_bnkbk' not found
Executing statement:
[Prepared Values: [] SQL: SELECT COUNT(*) FROM om_bnkbk g_0] Message:Remote org.teiid.core.TeiidProcessingException: Error Code:SQL Anywhere Error -141: Table 'om_bnkbk' not found
Executing statement:
[Prepared Values: [] SQL: SELECT COUNT(*) FROM om_bnkbk g_0] Message:Error Code:SQL Anywhere Error -141: Table 'om_bnkbk' not found
Executing statement:
[Prepared Values: [] SQL: SELECT COUNT(*) FROM om_bnkbk g_0] Message:2706
SQLState: 50000
ErrorCode: 0when I connect to SybaseIQ (same jdbc drive used for Teiid), and issue command: "select * from OPTIMA_IQSIT.OSW.om_bnkbk". It was successfully.
The jdbc driver is jconn3.jar file and class name: com.sybase.jdbc3.jdbc.SybDriver
So what is the manual steps to update name in source on Teiid server?
Best regards,
Bo
-
12. Re: Teiid -- SybaseIQ jdbc connection issue
rareddy Oct 20, 2010 10:19 AM (in response to bo.sun)Bo,
When executing in the Teiid, you need to use your model name.tableName, not as designed in your database. You have not provided the source query command logged as requested, so we still do not know what Teiid is sending to SYBASE to see what exactly is happening in Teiid query engine.
Also, to change the "Name In Source", you need to use Designer and update this property on the Table and respective columns. Then rebuild the VDB and deploy the new VDB. You can not modify this on a deployed VDB in the server.
We see some issues with the jConnect driver too(seems like SYBASE abandoned this driver, no updates since 2005), can you also try with JTDS jdbc driver for SYBASE?
Ramesh..
-
13. Re: Teiid -- SybaseIQ jdbc connection issue
bo.sun Oct 20, 2010 12:11 PM (in response to rareddy)Ramesh,
When executing in the Teiid, you need to use your model name.tableName, not as designed in your database. You have not provided the source query command logged as requested, so we still do not know what Teiid is sending to SYBASE to see what exactly is happening in Teiid query engine.
I am a little confused here. what is modelname in my case, I am attached the screenshot.
I thought I provided the source query. OK. let me put it here:
I run "select * from OPTIMA_IQSIT.OSW.om_bnkbk"
Error: [Prepared Values: [] SQL: SELECT COUNT(*) FROM om_bnkbk g_0] Message:Error Code:SQL Anywhere Error -141: Table 'om_bnkbk' not found
I run "select count(*) from SybaseIQ.om_bnkbk"
Error: Remote org.teiid.api.exception.query.QueryResolverException: Group does not exist: sybaseIQ.om_bnkbk
SQLState: 50000
ErrorCode: 0We see some issues with the jConnect driver too(seems like SYBASE abandoned this driver, no updates since 2005), can you also try with JTDS jdbc driver for SYBASE?
OK, I downloaded jtds-1.2.5.jar using class name: net.sourceforge.jtds.jdbc.Driver. It is not working with my sybaseIQ DB.
Remesh, can you please test on your side, any database, import with fully qualified name, confirmed it in designer. After deployed, check sys.tables to see if you can see qulification in 'nameinsouce' , is that OK?
best regards,
Bo
-
14. Re: Teiid -- SybaseIQ jdbc connection issue
bo.sun Oct 20, 2010 5:04 PM (in response to bo.sun)OK, I suspect that the original VDB night be screwed up. So, I tried to create a new VDB with a new name: POC_VDB. when I execute the POC_VDB, I got following error:
17:01:03,383 ERROR [ADMIN_API] Unexpected exception for session ISK6mKz5ZGl2
[AdminComponentException]java.io.IOException: ASSERTION FAILED: expected reference to be not null
1 [AdminProcessingException]java.io.IOException: ASSERTION FAILED: expected reference to be not null
2 [RuntimeException]java.io.IOException: ASSERTION FAILED: expected reference to be not null
3 [IOException]ASSERTION FAILED: expected reference to be not null
at org.teiid.client.util.ExceptionUtil.convertException(ExceptionUtil.java:72)
at org.teiid.jboss.deployers.RuntimeEngineDeployer$1.invoke(RuntimeEngineDeployer.java:252)
at $Proxy260.deployVDB(Unknown Source)
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:597)
at org.teiid.transport.ServerWorkItem.run(ServerWorkItem.java:81)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:188)
at org.teiid.transport.SocketClientInstance.processMessagePacket(SocketClientInstance.java:161)
at org.teiid.transport.SocketClientInstance.receivedMessage(SocketClientInstance.java:150)
at org.teiid.transport.SSLAwareChannelHandler.messageReceived(SSLAwareChannelHandler.java:210)
at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:340)
at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:272)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:192)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: [AdminProcessingException]java.io.IOException: ASSERTION FAILED: expected reference to be not null
1 [RuntimeException]java.io.IOException: ASSERTION FAILED: expected reference to be not null
2 [IOException]ASSERTION FAILED: expected reference to be not null
at org.teiid.adminapi.jboss.ManagedUtil.execute(ManagedUtil.java:295)
at org.teiid.adminapi.jboss.ManagedUtil.deployArchive(ManagedUtil.java:235)
at org.teiid.adminapi.jboss.ManagedUtil.deployArchive(ManagedUtil.java:222)
at org.teiid.adminapi.jboss.Admin.deployVDB(Admin.java:184)
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:597)
at org.teiid.logging.LogManager$LoggingProxy.invoke(LogManager.java:121)
at org.teiid.jboss.deployers.RuntimeEngineDeployer$1.invoke(RuntimeEngineDeployer.java:246)
... 33 more
Caused by: java.lang.RuntimeException: java.io.IOException: ASSERTION FAILED: expected reference to be not null
at org.jboss.profileservice.management.upload.remoting.StreamingDeploymentTarget.transferDeployment(StreamingDeploymentTarget.java:287)
at org.jboss.profileservice.management.upload.remoting.StreamingDeploymentTarget.distribute(StreamingDeploymentTarget.java:107)
at org.jboss.profileservice.management.upload.DeploymentProgressImpl.distribute(DeploymentProgressImpl.java:177)
at org.jboss.profileservice.management.upload.DeploymentProgressImpl.run(DeploymentProgressImpl.java:82)
at org.teiid.adminapi.jboss.ManagedUtil.execute(ManagedUtil.java:290)
... 42 more
Caused by: java.io.IOException: ASSERTION FAILED: expected reference to be not null
at org.jboss.remoting.stream.StreamHandler.read(StreamHandler.java:382)
at org.jboss.system.server.profileservice.repository.BasicDeploymentRepository.addDeploymentContent(BasicDeploymentRepository.java:180)
at org.jboss.profileservice.management.upload.remoting.AbstractDeployHandler.handleStream(AbstractDeployHandler.java:227)
at org.jboss.profileservice.management.upload.remoting.AbstractDeployHandler.handleStream(AbstractDeployHandler.java:60)
at org.jboss.remoting.ServerInvoker.handleInternalInvocation(ServerInvoker.java:1775)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:878)
at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)
at org.jboss.remoting.Client.invoke(Client.java:1724)
at org.jboss.remoting.Client.invoke(Client.java:629)
at org.jboss.remoting.Client.invoke(Client.java:1508)
at org.jboss.profileservice.management.upload.remoting.StreamingDeploymentTarget.transferDeployment(StreamingDeploymentTarget.java:278)
... 46 more
17:01:03,807 WARN [HDScanner] Scan failed
org.jboss.deployers.spi.DeploymentException: Error determining structure: POC_VDB.vdb
at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
at org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure.determineStructure(DeclaredStructure.java:89)
at org.jboss.deployers.vfs.plugins.structure.StructureDeployerWrapper.determineStructure(StructureDeployerWrapper.java:73)
at org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.doDetermineStructure(VFSStructuralDeployersImpl.java:196)
at org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl.determineStructure(VFSStructuralDeployersImpl.java:221)
at org.jboss.deployers.structure.spi.helpers.AbstractStructuralDeployers.determineStructure(AbstractStructuralDeployers.java:77)
at org.jboss.deployers.plugins.main.MainDeployerImpl.determineStructure(MainDeployerImpl.java:1004)
at org.jboss.deployers.plugins.main.MainDeployerImpl.determineDeploymentContext(MainDeployerImpl.java:440)
at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:390)
at org.jboss.deployers.plugins.main.MainDeployerImpl.addDeployment(MainDeployerImpl.java:300)
at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.addDeployment(MainDeployerAdapter.java:86)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:344)
at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:255)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: java.util.zip.ZipException: error in opening zip file
at org.jboss.virtual.plugins.context.AbstractExceptionHandler.handleZipEntriesInitException(AbstractExceptionHandler.java:39)
at org.jboss.virtual.plugins.context.helpers.NamesExceptionHandler.handleZipEntriesInitException(NamesExceptionHandler.java:63)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.ensureEntries(ZipEntryContext.java:626)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.checkIfModified(ZipEntryContext.java:773)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.getChild(ZipEntryContext.java:817)
at org.jboss.virtual.plugins.context.zip.ZipEntryHandler.createChildHandler(ZipEntryHandler.java:191)
at org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:684)
at org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:165)
at org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:107)
at org.jboss.virtual.VirtualFile.getChild(VirtualFile.java:481)
at org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure.determineStructure(DeclaredStructure.java:64)
... 20 more
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at org.jboss.virtual.plugins.context.zip.ZipFileWrapper.ensureZipFile(ZipFileWrapper.java:175)
at org.jboss.virtual.plugins.context.zip.ZipFileWrapper.acquire(ZipFileWrapper.java:245)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.initEntries(ZipEntryContext.java:484)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.ensureEntries(ZipEntryContext.java:619)
... 28 moreplease help.