Cannot load wsdl

Hello,
when i try to load service functions from wsdl i get an Exception. I think it has something to do with the structure of the wsdl or the imports? I dont know how Katalon tries to parse wsdls internally.

I changed the names of the services and urls, cause they are only for internal purposes.

Here is the log:

!ENTRY org.eclipse.e4.ui.workbench 4 0 2020-06-09 08:50:48.086
!MESSAGE
!STACK 0
java.lang.reflect.InvocationTargetException
at com.kms.katalon.composer.webservice.parts.SoapServicePart$9.run(SoapServicePart.java:287)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing ‘https://someserver/some.web/service/META-INF/wsdl/service.wsdl’.: java.net.ConnectException: Connection timed out: connect
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.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getDefinition(WsdlParser.java:99)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getService(WsdlParser.java:123)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getPorts(WsdlParser.java:109)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getPortMap(WsdlParser.java:250)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getBindingOperationsByRequestMethod(WsdlParser.java:174)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getOperationsByRequestMethod(WsdlParser.java:159)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getOperationNamesByRequestMethod(WsdlParser.java:153)
at com.kms.katalon.composer.webservice.parts.SoapServicePart$9.run(SoapServicePart.java:278)
… 1 more
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.(HttpClient.java:242)
at sun.net.www.http.HttpClient.New(HttpClient.java:339)
at sun.net.www.http.HttpClient.New(HttpClient.java:357)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1304)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1270)
at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:264)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1161)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1045)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:959)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
… 12 more
Root exception:
javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing ‘https://someserver/some.web/service/META-INF/wsdl/service.wsdl’.: java.net.ConnectException: Connection timed out: connect
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.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getDefinition(WsdlParser.java:99)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getService(WsdlParser.java:123)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getPorts(WsdlParser.java:109)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getPortMap(WsdlParser.java:250)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getBindingOperationsByRequestMethod(WsdlParser.java:174)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getOperationsByRequestMethod(WsdlParser.java:159)
at com.kms.katalon.core.webservice.wsdl.support.wsdl.WsdlParser.getOperationNamesByRequestMethod(WsdlParser.java:153)
at com.kms.katalon.composer.webservice.parts.SoapServicePart$9.run(SoapServicePart.java:278)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.http.HttpClient.(HttpClient.java:242)
at sun.net.www.http.HttpClient.New(HttpClient.java:339)
at sun.net.www.http.HttpClient.New(HttpClient.java:357)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1220)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:984)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1304)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1270)
at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:264)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1161)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1045)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:959)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
… 12 more

Here is the wsdl with changed names:

<wsdl:definitions name=“service1” targetNamespace=“http://schema.company.de/someNamespace/service1”>
wsdl:documentation2.1.28 (2020-03-23 16:28:07)</wsdl:documentation>
wsdl:types
xsd:schema
<xsd:import namespace=“http://schema.company.de/someNamespace/service1” schemaLocation=“service1.xsd”/>
<xsd:import namespace=“http://schema.company.de/artefacts/exception” schemaLocation=“idm-errorhandling.xsd”/>
<xsd:import namespace=“http://schema.company.de/artefacts/header” schemaLocation=“idm-header.xsd”/>
</xsd:schema>
</wsdl:types>
<wsdl:message name=“service1Response”>
<wsdl:part name=“parameters” element=“service1:service1Response”> </wsdl:part>
</wsdl:message>
<wsdl:message name=“service1”>
<wsdl:part name=“parameters” element=“service1:service1”></wsdl:part>
</wsdl:message>
<wsdl:message name=“ServiceException”>
<wsdl:part name=“fault” element=“exception:ServiceException”></wsdl:part>
</wsdl:message>
<wsdl:message name=“service1ServiceHeader”>
<wsdl:part name=“serviceheader” element=“header:serviceHeader”></wsdl:part>
</wsdl:message>
<wsdl:portType name=“service1”>
<wsdl:operation name=“service1”>
<wsdl:input message=“service1:service1”></wsdl:input>
<wsdl:output message=“service1:service1Response”></wsdl:output>
<wsdl:fault name=“ServiceException” message=“service1:ServiceException”></wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name=“service1PortBinding” type=“service1:service1”>
<soap:binding style=“document” transport=“http://schemas.xmlsoap.org/soap/http”/>
<wsdl:operation name=“service1”>
<soap:operation style=“document”/>
wsdl:input
<soap:body use=“literal”/>
<soap:header message=“service1:service1ServiceHeader” part=“serviceheader” use=“literal”></soap:header>
</wsdl:input>
wsdl:output
<soap:body use=“literal”/>
</wsdl:output>
<wsdl:fault name=“ServiceException”>
<soap:fault name=“ServiceException” use=“literal”/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name=“service1”>
<wsdl:port name=“service1Port” binding=“service1:service1PortBinding”>
<soap:address location=“https://host:port/de.company.module.web/service1”/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Can you help me? :slight_smile:

Hi @Adrian.Skirzynski,
We are investigating this issue and will make you informed should there be any updates. Please stay tuned.

Hello,
thanks :slight_smile:

I looked further into it myself. I found some weird behaviour, that seems to come from me sitting behind a corporate proxy.? I have adjusted the Proxy-Config in Katalon. I use the same configs as on IntelliJ for example. THere everything is working properly.

So, first of all, when i download the wsdl and use the “import from wsdl”-feature, i get the error that katalon cant find the xsl-files, that are imported in the wsdl. I can download them manually and put them into the folder where the wsdl is. After downloading all the needed xsl-files i can finally import the wsdl. So in my case Katalon is not able to automatically download the xsl-files from the import-statements.

When i send the request i get the following error:
error_meta_tag

The german text says: elementtype “meta” must end with the ending-tag .

LOG:
meta_tag_error.txt (5.7 KB)

I have absolutly no idea where this is coming from. With SoapUI and other tools i never get this message. I cant find such a tag anywhere.

So i hit a wall and thought “ok, lets begin small”. So i installed Kattalon on my own pc (without proxy) and created a test with this Testservice: http://www.dneonline.com/calculator.asmx

Everything works fine. When i try this on the corporate machine, i can load the service functions (so proxy kinda works?!), but i get a weird behaviour when using the “Load new Cntent”-Feature.

This is how it looks like on my own pc:

This is how it looks like on the corporate machine:

The Request message is different?! But why?
And when sending the request with numbers like 3 and 4 i get the following error:
Warning_calc

LOG:
calc_log.txt (1.7 KB)

I know this is a LOT OF TEXT, but i have no clue how to fix this. I dont even know if its only a proxy problem, or maybe also something in Katalon? Maybe you had similar issues with other firms/customers and these informations can help?

Thanks in advance :slight_smile:

Hi @Adrian.Skirzynski,
Please help by trying once again the above experiments with Katalon Studio versions before 7.5.0, then tell me the results. Thank you.

Hey,
unfortunatlly i cannot even load the service functions from the wsdl http://www.dneonline.com/calculator.asmx?WSDL

I used version 7.4.6.

calc_warning_4.6

LOG:
calc_log_4.6.txt (9.3 KB)

I use the same Proxy-configs as in the previous Versions i tried

Hi @Adrian.Skirzynski,
How do you config your proxy?

Hey,
im using the standard approach by providing an address, port and authentication for the Proxy Server.