Forum Discussion

chri5tian's avatar
chri5tian
New Contributor
15 years ago

Unable to Import/Update WSDL after additional field added

Good day,
We have been working with soapUI for years know and soapUI has always been a good friend to us. Thanks for the gr8 work!

Yesterday, I was 'forced' to add a new field to my WSDL definition. This addition seams to cause to exceed a size limitation in soapUI. I don't think the structure of the WSDL is the issue since removing 'anything' from the WSDL definition will 'fix' the import. However, we constantly 'add' new fields so we need to olve this problem soon.

1. I develope services with VisualStudio 2008 and 2010 and both version have the same issue.
2. I tested soapUI 3.4.x, 3.5.1 and 3.6.1 and all have the same issues.
3. I'm running Windows XP.
4. I don't have any issues with any other tools to import this wsdl file. So I assue it's a soapUI issue.

Thanks for looking into this.

Cheers
Christian

see attachments for the WSDL.

Here is the SOAPUI LOG:
Tue Jan 25 09:26:57 CET 2011:ERROR:Loading of definition failed for [http://localhost/wswctest181/Baggagereconciliation.asmx?wsdl]; java.lang.ArrayIndexOutOfBoundsException
Tue Jan 25 09:26:57 CET 2011:ERROR:An error occured [java.lang.ArrayIndexOutOfBoundsException], see error log for details
Tue Jan 25 09:27:01 CET 2011:ERROR:An error occured [java.lang.ArrayIndexOutOfBoundsException], see error log for details


Here is the ERROR LOG:
Tue Jan 25 09:40:57 CET 2011:ERROR:java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.replace(Saver.java:1583)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.entitizeContent(Saver.java:1372)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.emitText(Saver.java:1021)
at org.apache.xmlbeans.impl.store.Saver.process(Saver.java:309)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.write(Saver.java:1787)
at org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.ensure(Saver.java:2490)
at org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.access$100(Saver.java:2388)
at org.apache.xmlbeans.impl.store.Saver$InputStreamSaver$OutputStreamImpl.read(Saver.java:2527)
at org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.read(Saver.java:2473)
at org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown Source)
at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.peekChar(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCDATASection(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlInterfaceDefinition.load(WsdlInterfaceDefinition.java:48)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:66)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:30)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.cacheDefinition(AbstractDefinitionContext.java:264)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.access$400(AbstractDefinitionContext.java:44)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext$Loader.construct(AbstractDefinitionContext.java:230)
at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:46)
at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:140)
at java.lang.Thread.run(Unknown Source)
Tue Jan 25 09:40:59 CET 2011:ERROR:java.lang.Exception: java.lang.ArrayIndexOutOfBoundsException
java.lang.Exception: java.lang.ArrayIndexOutOfBoundsException
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.load(AbstractDefinitionContext.java:157)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.load(AbstractDefinitionContext.java:115)
at com.eviware.soapui.impl.wsdl.WsdlInterface.updateDefinition(WsdlInterface.java:289)
at com.eviware.soapui.impl.wsdl.actions.iface.UpdateInterfaceAction.perform(UpdateInterfaceAction.java:125)
at com.eviware.soapui.impl.wsdl.actions.iface.UpdateInterfaceAction.perform(UpdateInterfaceAction.java:52)
at com.eviware.soapui.support.action.swing.SwingActionDelegate.actionPerformed(SwingActionDelegate.java:89)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.replace(Saver.java:1583)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.entitizeContent(Saver.java:1372)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.emitText(Saver.java:1021)
at org.apache.xmlbeans.impl.store.Saver.process(Saver.java:309)
at org.apache.xmlbeans.impl.store.Saver$TextSaver.write(Saver.java:1787)
at org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.ensure(Saver.java:2490)
at org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.access$100(Saver.java:2388)
at org.apache.xmlbeans.impl.store.Saver$InputStreamSaver$OutputStreamImpl.read(Saver.java:2527)
at org.apache.xmlbeans.impl.store.Saver$InputStreamSaver.read(Saver.java:2473)
at org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown Source)
at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
at org.apache.xerces.impl.XMLEntityScanner.peekChar(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanCDATASection(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlInterfaceDefinition.load(WsdlInterfaceDefinition.java:48)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:66)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinition(WsdlContext.java:30)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.cacheDefinition(AbstractDefinitionContext.java:264)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext.access$400(AbstractDefinitionContext.java:44)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext$Loader.construct(AbstractDefinitionContext.java:230)
at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:46)
at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:140)
at java.lang.Thread.run(Unknown Source)

4 Replies

  • chri5tian's avatar
    chri5tian
    New Contributor
    So, 22 people downloaded my sample but no response to it... Am I the only one having this issue?
    Any help is very much appreciate it.
  • Hi Christian,

    thanks for this, it does indeed look like a bug in the soapUI WSDL processing, we'll have to dig in and will get back to you.

    regards!

    /Ole
    eviware.com
  • Hi,

    for some reason the XML processor is choking on the updated documentation element in your WSDL, maybe you can remove it for now until we get to grips with this!?

    regards!

    /Ole
    eviware.com
  • chri5tian's avatar
    chri5tian
    New Contributor
    Hi and thank you for your reply

    I did change the description around a little and found some more strange behaviors. Adding/Removing a blank in the WSDL description will trigger the error. I have attached two additional WSDLs, one with an additional blank which will cause an exception during the soapUI import/update process and one without that blank which will work just fine.

    The difference is at the end of the string, between 'numeric' and ']':
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Close Device &lt;br&gt; &lt;b&gt;Airline:&lt;/b&gt; 2-3 alpha/numeric &lt;br&gt; &lt;b&gt;FlightNumber:&lt;/b&gt; 1-4 numerics and an optional  1 Character Suffix &lt;br&gt; &lt;b&gt;FlightDate:&lt;/b&gt; 8 numerics, Format: YYYYMMDD, e.g. 20060430 &lt;br&gt; &lt;b&gt;Airport:&lt;/b&gt; 3 alphas, e.g. ZRH &lt;br&gt; &lt;b&gt;DeviceReference:&lt;/b&gt; [ULDSerialNumber 12 alpha numeric] or [ReferenceNumber 13 alpha numeric] or [LocationOnAircraft 1-3 alpha numeric ]</wsdl:documentation>

    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Close Device &lt;br&gt; &lt;b&gt;Airline:&lt;/b&gt; 2-3 alpha/numeric &lt;br&gt; &lt;b&gt;FlightNumber:&lt;/b&gt; 1-4 numerics and an optional  1 Character Suffix &lt;br&gt; &lt;b&gt;FlightDate:&lt;/b&gt; 8 numerics, Format: YYYYMMDD, e.g. 20060430 &lt;br&gt; &lt;b&gt;Airport:&lt;/b&gt; 3 alphas, e.g. ZRH &lt;br&gt; &lt;b&gt;DeviceReference:&lt;/b&gt; [ULDSerialNumber 12 alpha numeric] or [ReferenceNumber 13 alpha numeric] or [LocationOnAircraft 1-3 alpha numeric]</wsdl:documentation>


    Maybe the square brackets cause this issue and I should reframe from using special characters within the description.

    cheers
    Christian