<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Answers to: How the read a webservice wsdl over https</title><link>https://answers.axonivy.com/questions/3728/how-the-read-a-webservice-wsdl-over-https</link><description>&lt;p&gt;I have to generate a webservice client in ivy7.2 (CXF) where the wsdl is only accessable over https. &lt;/p&gt;
&lt;p&gt;The WebsService class generation crahes with a mysterious exception:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;org.apache.cxf.tools.common.ToolException: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition 
WSDLException (at /definitions/types/xs:schema): faultCode=PARSER_ERROR: Problem parsing .xsd'.: org.xml.sax.SAXParseException: White spaces are required between publicId and systemId.
&lt;/code&gt;&lt;/pre&gt;</description><atom:link href="https://answers.axonivy.com/questions/3728/how-the-read-a-webservice-wsdl-over-https" rel="self"></atom:link><language>en</language><lastBuildDate>Thu, 07 Mar 2019 10:28:14 -0500</lastBuildDate><item><title>Answer by Bruno Bütler</title><link>https://answers.axonivy.com/questions/3728/how-the-read-a-webservice-wsdl-over-https/3729</link><description>&lt;p&gt;The problem arises if the wsdl includes schema.xsd. The CXF Framework can not access the xsd files over the specified schema location.&lt;/p&gt;
&lt;p&gt;A workaround is to download the wsdl and xsd files manually with a webbrowser and to change the xsd schema location in the wsdl to local file names. Then you can read in the wsdl using a file:/ url path
&lt;img alt="alt text" src="https://answers.axonivy.com/upfiles/2019-03-08_102339.png"&gt;
After the creation of the client you have to manipulate the new cxf...jar in the lib_ws folder in the ivy project. It includes a wsdl and a number of schemaN.xsd files. But this wsdl still includes the origin xsd paths and not the local schemaN.xsd files. 
Change the schema location in the wsdl to the local schemaN.xsd files.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;xs:schema xmlns="http://schemas.xmlsoap.org/wsdl/"   ...&amp;gt;    
    &amp;lt;xs:include schemaLocation="Schema1.xsd"&amp;gt;&amp;lt;/xs:include&amp;gt;  
  &amp;lt;/xs:schema&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Without this modification the WS call will fail with an
InstantiationException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bruno Bütler</dc:creator><pubDate>Thu, 07 Mar 2019 10:28:14 -0500</pubDate><guid>https://answers.axonivy.com/questions/3728/how-the-read-a-webservice-wsdl-over-https/3729</guid></item></channel></rss>