I am very new Java and web services concepts. I am following Bharath Thippiredy’s course on Udemy. Now, I am trying to create java files from a wsdl file but unfortunately I am unable to do that I think due to the some dependency(or library) issues.
I am now using java version “21.0.3” 2024-04-16 LTS and using Java Spring Suite tool for developing. I am managing the dependencies by maven(hope this explanation is correct). My pom.xml and wsdl files are below:
CustomerOrders.wsdl (path: C:UsersanilDownloadsjavawebservicesjavawebservicessoapwebservicesjavasoapclientsrcmainresourceswsdlCustomerOrders.wsdl)
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://soap.ws.bharath.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="http://trainings.ws.bharath.com/" name="CustomerOrdersWsImplService" targetNamespace="http://soap.ws.bharath.com/">
<wsdl:import location="http://localhost:8080/wsdlfirstws/customerordersservice?wsdl=CustomerOrdersPortType.wsdl" namespace="http://trainings.ws.bharath.com/">
</wsdl:import>
<wsdl:binding name="CustomerOrdersWsImplServiceSoapBinding" type="ns1:CustomerOrdersPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="createOrders">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="createOrders">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="createOrdersResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getOrders">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="getOrders">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getOrdersResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CustomerOrdersWsImplService">
<wsdl:port binding="tns:CustomerOrdersWsImplServiceSoapBinding" name="CustomerOrdersWsImplPort">
<soap:address location="http://localhost:8080/wsdlfirstws/customerordersservice"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bharath.ws.soap</groupId>
<artifactId>javasoapclient</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>javasoapclient</name>
<description>Java Soap Client</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.2</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>21</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
<version>4.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>4.0.0</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>${basedir}/src/main/resources/wsdl/CustomerOrders.wsdl</wsdl>
<wsdlLocation>classpath:wsdl/CustomerOrders.wsdl</wsdlLocation>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
C:Usersanil>javac -version
javac 21.0.3
C:Usersanil>java -version
java version "21.0.3" 2024-04-16 LTS
Java(TM) SE Runtime Environment (build 21.0.3+7-LTS-152)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.3+7-LTS-152, mixed mode, sharing)
When ‘maven install’ is done, I get:
[INFO] Scanning for projects...
[INFO]
[INFO] [1m-----------------< [0;36mcom.bharath.ws.soap:javasoapclient[0;1m >-----------------[m
[INFO] [1mBuilding javasoapclient 0.0.1-SNAPSHOT[m
[INFO] from pom.xml
[INFO] [1m--------------------------------[ jar ]---------------------------------[m
[INFO]
[INFO] [1m--- [0;32mcxf-codegen:4.0.0:wsdl2java[m [1m(generate-sources)[m @ [36mjavasoapclient[0;1m ---[m
[INFO] Running code generation in fork mode...
[INFO] The java executable is C:Program FilesJavajdk-21binjava.exe
[INFO] Building jar: C:UsersanilAppDataLocalTempcxf-tmp-18252934415500846076cxf-codegen13803868190192824337.jar
[WARNING] Exception in thread "main" org.apache.cxf.tools.common.ToolException: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition file:/C:/Users/anil/Downloads/javawebservices/javawebservices/soapwebservices/javasoapclient/src/main/resources/wsdl/CustomerOrders.wsdl: WSDLException (at /wsdl:definitions/wsdl:import): faultCode=PARSER_ERROR: Problem parsing 'http://localhost:8080/wsdlfirstws/customerordersservice?wsdl=CustomerOrdersPortType.wsdl'.: java.net.ConnectException: Connection refused: connect
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:410)
[WARNING] at org.apache.cxf.tools.common.toolspec.ToolRunner.runTool(ToolRunner.java:105)
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:113)
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJava.run(WSDLToJava.java:86)
[WARNING] at org.apache.cxf.maven_plugin.wsdl2java.ForkOnceWSDL2Java.main(ForkOnceWSDL2Java.java:51)
[WARNING] Caused by: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsdl definition file:/C:/Users/anil/Downloads/javawebservices/javawebservices/soapwebservices/javasoapclient/src/main/resources/wsdl/CustomerOrders.wsdl: WSDLException (at /wsdl:definitions/wsdl:import): faultCode=PARSER_ERROR: Problem parsing 'http://localhost:8080/wsdlfirstws/customerordersservice?wsdl=CustomerOrdersPortType.wsdl'.: java.net.ConnectException: Connection refused: connect
[WARNING] at org.apache.cxf.tools.wsdlto.core.WSDLDefinitionBuilder.parseWSDL(WSDLDefinitionBuilder.java:99)
[WARNING] at org.apache.cxf.tools.wsdlto.core.WSDLDefinitionBuilder.build(WSDLDefinitionBuilder.java:71)
[WARNING] at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.build(JAXWSDefinitionBuilder.java:84)
[WARNING] at org.apache.cxf.tools.wsdlto.frontend.jaxws.wsdl11.JAXWSDefinitionBuilder.build(JAXWSDefinitionBuilder.java:61)
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.processWsdl(WSDLToJavaContainer.java:187)
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:156)
[WARNING] at org.apache.cxf.tools.wsdlto.WSDLToJavaContainer.execute(WSDLToJavaContainer.java:402)
[WARNING] ... 4 more
[WARNING] Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:import): faultCode=PARSER_ERROR: Problem parsing 'http://localhost:8080/wsdlfirstws/customerordersservice?wsdl=CustomerOrdersPortType.wsdl'.: java.net.ConnectException: Connection refused: connect
[WARNING] at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2198)
[WARNING] at com.ibm.wsdl.xml.WSDLReaderImpl.parseImport(WSDLReaderImpl.java:435)
[WARNING] at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(WSDLReaderImpl.java:312)
[WARNING] at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2352)
[WARNING] at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2338)
[WARNING] at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:255)
[WARNING] at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:165)
[WARNING] at org.apache.cxf.tools.wsdlto.core.WSDLDefinitionBuilder.parseWSDL(WSDLDefinitionBuilder.java:80)
[WARNING] ... 10 more
[WARNING] Caused by: java.net.ConnectException: Connection refused: connect
[WARNING] at java.base/sun.nio.ch.Net.connect0(Native Method)
[WARNING] at java.base/sun.nio.ch.Net.connect(Net.java:589)
[WARNING] at java.base/sun.nio.ch.Net.connect(Net.java:578)
[WARNING] at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:583)
[WARNING] at java.base/java.net.Socket.connect(Socket.java:751)
[WARNING] at java.base/java.net.Socket.connect(Socket.java:686)
[WARNING] at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:183)
[WARNING] at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)
[WARNING] at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636)
[WARNING] at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:280)
[WARNING] at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386)
[WARNING] at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408)
[WARNING] at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1304)
[WARNING] at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237)
[WARNING] at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1123)
[WARNING] at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1052)
[WARNING] at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1675)
[WARNING] at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1599)
[WARNING] at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:678)
[WARNING] at java.xml/com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:150)
[WARNING] at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:861)
[WARNING] at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
[WARNING] at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
[WARNING] at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247)
[WARNING] at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)
[WARNING] at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2188)
[WARNING] ... 17 more
[INFO] [1m------------------------------------------------------------------------[m
[INFO] [1;31mBUILD FAILURE[m
[INFO] [1m------------------------------------------------------------------------[m
[INFO] Total time: 3.722 s
[INFO] Finished at: 2024-08-09T12:23:14+03:00
[INFO] [1m------------------------------------------------------------------------[m
[ERROR] Failed to execute goal [32morg.apache.cxf:cxf-codegen-plugin:4.0.0:wsdl2java[m [1m(generate-sources)[m on project [36mjavasoapclient[m: [1;31m[m
[ERROR] [1;31mExit code: 1[m
[ERROR] [1;31mCommand line was: cmd.exe /X /C ""C:Program FilesJavajdk-21binjava.exe" --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.impl.xs=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED -jar C:UsersanilAppDataLocalTempcxf-tmp-18252934415500846076cxf-codegen13803868190192824337.jar C:UsersanilAppDataLocalTempcxf-tmp-18252934415500846076cxf-w2j1854910616679466146args"[m
[ERROR] [1;31m[m
[ERROR] [1;31m[m
[ERROR] -> [1m[Help 1][m
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the [1m-e[m switch.
[ERROR] Re-run Maven using the [1m-X[m switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [1m[Help 1][m http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
I, of course, made some research on stackoverflow and other websites but couldn’t end up with a solution. Lastly, I am glad if you notify me there is something missing, and I will provide the information asap.
What I tried:
I tried deleting .m2 file and update the maven again. I deleted and install java and jdk and tried different versions.