0 Replies Latest reply on Jan 16, 2013 3:36 PM by sangvi

    Cyclic import in the inXSD

    sangvi

      I am new to web services and have a question.

       

      I have an xsd which imports other xsds and also it has some cyclic imports.

       

      I have this following configuration in my jboss-esb.xml

       

      <service category="TEST" description="Validate" name="Validate">

                             <listeners>

                                        <http-gateway busidref="httpChannel" name="httpValidate"

                                         payloadAs="STRING" urlPattern="/validate"/>

                                        <jms-listener busidref="Bus-Validate" is-gateway="false"

                                         maxThreads="10" name="Bus-Validate"/>

                             </listeners>

                            

                            

                             <actions mep="RequestResponse" webservice="true"

                                                 inXsd="/schemas/Validate/XMLschemas/constraint/XMLschemas/exchange/ExchangeModel.xsd"

                                              outXsd="/schemas/Validate/XMLschemas/constraint/XMLschemas\exchange/ExchangeModel.xsd" validate="false"

                                               >

                              <!-- log request -->

                                        <action class="org.jboss.soa.esb.actions.LogAction" name="logValidateSCIDID">

                                   ...

           </action>

                             </actions>

                  </service>

       

       

      When deploying this application in the jboss server, it gives  out of memeory error

       

      Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded

                at java.util.Arrays.copyOf(Arrays.java:2734)

                at java.util.ArrayList.ensureCapacity(ArrayList.java:167)

                at java.util.ArrayList.add(ArrayList.java:351)

                at org.jboss.virtual.plugins.vfs.helpers.PathTokenizer.getTokens(PathTokenizer.java:123)

                at org.jboss.virtual.plugins.vfs.helpers.PathTokenizer.applySpecialPathsToTokens(PathTokenizer.java:260)

                at org.jboss.virtual.VFSUtils.stripProtocolToTokens(VFSUtils.java:1087)

                at org.jboss.virtual.VFSUtils.stripProtocol(VFSUtils.java:1103)

                at org.jboss.virtual.plugins.cache.IterableTimedVFSCache.findContext(IterableTimedVFSCache.java:63)

                at org.jboss.virtual.plugins.cache.CombinedVFSCache.findContext(CombinedVFSCache.java:116)

                at org.jboss.virtual.plugins.registry.DefaultVFSRegistry.getFile(DefaultVFSRegistry.java:148)

                at org.jboss.virtual.spi.registry.VFSRegistry.getFile(VFSRegistry.java:124)

                at org.jboss.virtual.protocol.AbstractVFSHandler.openConnection(AbstractVFSHandler.java:71)

                at java.net.URL.openConnection(URL.java:945)

                at java.net.URL.openStream(URL.java:1010)

                at org.jboss.util.xml.JBossEntityResolver.resolveSystemIDasURL(JBossEntityResolver.java:493)

                at org.jboss.util.xml.JBossEntityResolver.resolveEntity(JBossEntityResolver.java:339)

                at org.jboss.ws.core.utils.JBossWSEntityResolver.resolveEntity(JBossWSEntityResolver.java:134)

                at org.jboss.ws.tools.wsdl.WSDLLocatorImpl.getImportInputSource(WSDLLocatorImpl.java:132)

                at org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.parseSchema(JBossWSDLReaderImpl.java:777)

                at org.jboss.ws.tools.wsdl.JBossWSDLReaderImpl.parseSchema(JBossWSDLReaderImpl.java:867)

       

       

      I have no control to change the XSD. Any help is appreciated.

       

      Thanks

      Sang