Rectangle 27 1

If i understand correctly, you want to generate the Java class files from your WSDL, right ? If you use metro, you have to go in the bin directory of metro. Then, you have to use "wsimport.sh -s " if you're on windows try wsimport.bat instead of wsimport.sh

Thank you @vincent, I have locally WSDL file only. I wanted to generate the Request file(e.g. abc.xml request file from abc.wsdl file, don't want to call the abc.xml request but just request template file where I can later fill the all the node values in request xml file). I am using eclipse with java. So I wanted to create request xml file from WSDL file, not java file from wsdl file.

oh ok, so a simple way to do that is to use tools like SoapUI. Open your WSDL file with it, and this tool will generate request automatically.

We need to code it in java, to get request file from WSDL. not supposed to use SOAPUI tool.

web services - generate webservice template from WSDL file with help o...

java web-services wsdl
Rectangle 27 1

What are the best tools to use for generating WSDL files from Java class files?

The most straightforward way would be to annotate your Java class with JAX-WS annotations. Here is a (basic) example:

package helloservice.endpoint;

import javax.jws.WebService;

@WebService
public class Hello {
    private String message = new String("Hello, ");

    public void Hello() {}

    @WebMethod
    public String sayHello(String name) {
        return message + name + ".";
    }
}

The WSDL will be dynamically generated at runtime (but you can also generate it and deploy a static version).

Using the annotation, I noticed that the wsdl is generated at runtime in WebLogic but not in Tomcat. Any idea how to enable runtime generation of WSDL in tomcat?

web services - Java WebServices and WSDL file generation - Stack Overf...

java web-services soap wsdl
Rectangle 27 18

For anyone reading this using maven, this is how to add it to the .pom file. Note the args in the configuration section. This is not very easily found in documentation. Many thanks to Isaac Stephens for his help with this.

<!-- definition for ERPStandardWork service -->
<execution>
  <id>ERPStandardWorkService</id>
  <goals>
    <goal>wsimport</goal>
  </goals>
  <configuration>
    <!-- this resolves naming conflicts within the wsdl - there are several copies of fault report objects which clash otherwise. -->
    <args>
       <arg>-B-XautoNameResolution</arg>
    </args>
    <wsdlDirectory>${basedir}/src/main/resources/META-INF/wsdl</wsdlDirectory>
    <wsdlFiles>
        <wsdlFile>ERPStandardWork.wsdl</wsdlFile>
    </wsdlFiles>
      <wsdlLocation>${basedir}/src/main/resources/META-INF/wsdl/ERPStandardWork.wsdl
    </wsdlLocation>
    <staleFile>${project.build.directory}/jaxws/ERPStandardWork/.staleFlag
    </staleFile>
  </configuration>
</execution>

Problem generating Java SOAP web services client with JDK tool wsimpor...

java .net web-services axis wsimport
Rectangle 27 4

Apache CXF Example Projects cover most of the scenarios. For generating java codes, refer to WSDL to Java. Another approach is wsimport that comes with JDK. Both of them are very simple and straightforward.

java - Apache CXF, generating web services from WSDL file - Stack Over...

java web-services soap wsdl cxf
Rectangle 27 3

I suggest using maven plugins for these kind of things.

java - Apache CXF, generating web services from WSDL file - Stack Over...

java web-services soap wsdl cxf
Rectangle 27 8

Few months ago I was working with jax-ws web service in j2ee application, There we were using CXF wsdl2java to generate WS client stub from the WSDL file and with those client stubs we consumed the web services. Few weeks ago, when I was trying to consume the web service in the same way in android platform I couldn't, because the android jar has not all the "jax-ws" supporting classes in it. That time I didn't find any such tool ( if I wasn't failed to google efficiently) to meet my requirement --

  • Get the client stub from the WSDL.
  • And call the Service with some argument (java business request object).
  • Get the Response Business Object.
  • From WSDL Get WS Client Stub, Put it in your project.
  • Say for Some Service "ComplexOperationService", Instantiate the Service, Get the Endpoint port and call the service method, and get the response from the Web service :
ComplexOperationService service = new ComplexOperationService( );
ComplexOperation port= service.getComplexOperationPort();    
SomeComplexRequest request = --Get some complex request----;    
SomeComplexResp resp = port.operate( request  );
  • You don't need to care about the service class/req/response classes or any other classes and the method as well, as you know its all are generated from WSDL.
  • And of course you needn't be aware of the soap action/envelop/namespace etc. Just call the method as we, developers do all the time.

Do you know how to deal with Date? Apache CXF translate it to XMLGregorianCalendar which I am not able to create in Android.

java - How to call a SOAP web service on Android - Stack Overflow

java android web-services soap wsdl
Rectangle 27 8

Few months ago I was working with jax-ws web service in j2ee application, There we were using CXF wsdl2java to generate WS client stub from the WSDL file and with those client stubs we consumed the web services. Few weeks ago, when I was trying to consume the web service in the same way in android platform I couldn't, because the android jar has not all the "jax-ws" supporting classes in it. That time I didn't find any such tool ( if I wasn't failed to google efficiently) to meet my requirement --

  • Get the client stub from the WSDL.
  • And call the Service with some argument (java business request object).
  • Get the Response Business Object.
  • From WSDL Get WS Client Stub, Put it in your project.
  • Say for Some Service "ComplexOperationService", Instantiate the Service, Get the Endpoint port and call the service method, and get the response from the Web service :
ComplexOperationService service = new ComplexOperationService( );
ComplexOperation port= service.getComplexOperationPort();    
SomeComplexRequest request = --Get some complex request----;    
SomeComplexResp resp = port.operate( request  );
  • You don't need to care about the service class/req/response classes or any other classes and the method as well, as you know its all are generated from WSDL.
  • And of course you needn't be aware of the soap action/envelop/namespace etc. Just call the method as we, developers do all the time.

Do you know how to deal with Date? Apache CXF translate it to XMLGregorianCalendar which I am not able to create in Android.

java - How to call a SOAP web service on Android - Stack Overflow

java android web-services soap wsdl
Rectangle 27 8

Few months ago I was working with jax-ws web service in j2ee application, There we were using CXF wsdl2java to generate WS client stub from the WSDL file and with those client stubs we consumed the web services. Few weeks ago, when I was trying to consume the web service in the same way in android platform I couldn't, because the android jar has not all the "jax-ws" supporting classes in it. That time I didn't find any such tool ( if I wasn't failed to google efficiently) to meet my requirement --

  • Get the client stub from the WSDL.
  • And call the Service with some argument (java business request object).
  • Get the Response Business Object.
  • From WSDL Get WS Client Stub, Put it in your project.
  • Say for Some Service "ComplexOperationService", Instantiate the Service, Get the Endpoint port and call the service method, and get the response from the Web service :
ComplexOperationService service = new ComplexOperationService( );
ComplexOperation port= service.getComplexOperationPort();    
SomeComplexRequest request = --Get some complex request----;    
SomeComplexResp resp = port.operate( request  );
  • You don't need to care about the service class/req/response classes or any other classes and the method as well, as you know its all are generated from WSDL.
  • And of course you needn't be aware of the soap action/envelop/namespace etc. Just call the method as we, developers do all the time.

Do you know how to deal with Date? Apache CXF translate it to XMLGregorianCalendar which I am not able to create in Android.

java - How to call a SOAP web service on Android - Stack Overflow

java android web-services soap wsdl
Rectangle 27 8

Few months ago I was working with jax-ws web service in j2ee application, There we were using CXF wsdl2java to generate WS client stub from the WSDL file and with those client stubs we consumed the web services. Few weeks ago, when I was trying to consume the web service in the same way in android platform I couldn't, because the android jar has not all the "jax-ws" supporting classes in it. That time I didn't find any such tool ( if I wasn't failed to google efficiently) to meet my requirement --

  • Get the client stub from the WSDL.
  • And call the Service with some argument (java business request object).
  • Get the Response Business Object.
  • From WSDL Get WS Client Stub, Put it in your project.
  • Say for Some Service "ComplexOperationService", Instantiate the Service, Get the Endpoint port and call the service method, and get the response from the Web service :
ComplexOperationService service = new ComplexOperationService( );
ComplexOperation port= service.getComplexOperationPort();    
SomeComplexRequest request = --Get some complex request----;    
SomeComplexResp resp = port.operate( request  );
  • You don't need to care about the service class/req/response classes or any other classes and the method as well, as you know its all are generated from WSDL.
  • And of course you needn't be aware of the soap action/envelop/namespace etc. Just call the method as we, developers do all the time.

Do you know how to deal with Date? Apache CXF translate it to XMLGregorianCalendar which I am not able to create in Android.

java - How to call a SOAP web service on Android - Stack Overflow

java android web-services soap wsdl
Rectangle 27 9

You can have JAX-WS insert the generated schema into your WSDL file by using the

-inlineSchemas

If you're using Maven in your project you can configure the JAX-WS maven plugin to do the same with the inlineSchemas configuration element in your execution configuration as follows: [2]

<plugin>
  <groupId>org.jvnet.jax-ws-commons</groupId>
  <artifactId>jaxws-maven-plugin</artifactId>
  <version>2.2</version>
  <executions>
    <execution>
      <id>SomeId</id>
      <goals>
        <goal>wsgen</goal>
      </goals>
      <phase>prepare-package</phase>
      <configuration>
        <sei>some.class.Name</sei>
        <genWsdl>true</genWsdl>
        <keep>true</keep>
        <resourceDestDir>some/target/dir</resourceDestDir>
        <inlineSchemas>true</inlineSchemas>
      </configuration>
    </execution>
  </executions>
</plugin>

java - Write jax-ws web service and generate WSDL without XSD - Stack ...

java web-services tomcat wsdl jax-ws
Rectangle 27 20

There is a maven plugin, the cxf-codegen-plugin, that will auto generate java classes from a WSDL. It will also create a stub client for you if you want to see how to use the generated code.

For this example I downloaded the wsdl located here and saved it as stockquote.wsdl.

<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.stackoverflow</groupId>
  <artifactId>cxf-wsdl2java-example</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>

  <name>cxf-wsdl2java-example</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-codegen-plugin</artifactId>
        <version>2.7.7</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/stockquote.wsdl</wsdl>
                  <extraargs>
                    <extraarg>-impl</extraarg>
                    <extraarg>-verbose</extraarg>
                  </extraargs>
                </wsdlOption>
              </wsdlOptions>
            </configuration>
            <goals>
              <goal>wsdl2java</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building cxf-wsdl2java-example 1.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- cxf-codegen-plugin:2.7.7:wsdl2java (generate-sources) @ cxf-wsdl2java-example ---
Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.462s
[INFO] Finished at: Mon Oct 21 14:44:54 MDT 2013
[INFO] Final Memory: 11M/211M
[INFO] ------------------------------------------------------------------------
.
|-- cxf-wsdl2java-example.iml
|-- pom.xml
|-- src
|   |-- main
|   |   |-- java
|   |   |   `-- com
|   |   |       `-- stackoverflow
|   |   |           `-- App.java
|   |   `-- resources
|   |       `-- stockquote.wsdl
|   `-- test
|       `-- java
|           `-- com
|               `-- stackoverflow
|                   `-- AppTest.java
`-- target
    |-- classes
    |-- cxf-codegen-plugin-markers
    `-- generated
        `-- cxf
            `-- net
                `-- webservicex
                    |-- GetQuote.java
                    |-- GetQuoteResponse.java
                    |-- ObjectFactory.java
                    |-- package-info.java
                    |-- StockQuoteHttpGetImpl.java
                    |-- StockQuoteHttpGet.java
                    |-- StockQuoteHttpPostImpl.java
                    |-- StockQuoteHttpPost.java
                    |-- StockQuote.java
                    |-- StockQuoteSoapImpl1.java
                    |-- StockQuoteSoapImpl.java
                    `-- StockQuoteSoap.java

17 directories, 17 files
package net.webservicex;

import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import javax.xml.ws.Service;

/**
 * This class was generated by Apache CXF 2.7.7
 * 2013-10-21T14:44:54.749-06:00
 * Generated source version: 2.7.7
 * 
 */
@WebServiceClient(name = "StockQuote", 
                  wsdlLocation = "file:/home/axiopisty/projects/cxf-wsdl2java-example/src/main/resources/stockquote.wsdl",
                  targetNamespace = "http://www.webserviceX.NET/") 
public class StockQuote extends Service {

    public final static URL WSDL_LOCATION;

    public final static QName SERVICE = new QName("http://www.webserviceX.NET/", "StockQuote");
    public final static QName StockQuoteHttpPost = new QName("http://www.webserviceX.NET/", "StockQuoteHttpPost");
    public final static QName StockQuoteSoap = new QName("http://www.webserviceX.NET/", "StockQuoteSoap");
    public final static QName StockQuoteSoap12 = new QName("http://www.webserviceX.NET/", "StockQuoteSoap12");
    public final static QName StockQuoteHttpGet = new QName("http://www.webserviceX.NET/", "StockQuoteHttpGet");
    static {
        URL url = null;
        try {
            url = new URL("file:/home/axiopisty/projects/cxf-wsdl2java-example/src/main/resources/stockquote.wsdl");
        } catch (MalformedURLException e) {
            java.util.logging.Logger.getLogger(StockQuote.class.getName())
                .log(java.util.logging.Level.INFO, 
                     "Can not initialize the default wsdl from {0}", "file:/home/axiopisty/projects/cxf-wsdl2java-example/src/main/resources/stockquote.wsdl");
        }
        WSDL_LOCATION = url;
    }

    public StockQuote(URL wsdlLocation) {
        super(wsdlLocation, SERVICE);
    }

    public StockQuote(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }

    public StockQuote() {
        super(WSDL_LOCATION, SERVICE);
    }

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public StockQuote(WebServiceFeature ... features) {
        super(WSDL_LOCATION, SERVICE, features);
    }

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public StockQuote(URL wsdlLocation, WebServiceFeature ... features) {
        super(wsdlLocation, SERVICE, features);
    }

    //This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
    //API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
    //compliant code instead.
    public StockQuote(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
        super(wsdlLocation, serviceName, features);
    }

    /**
     *
     * @return
     *     returns StockQuoteHttpPost
     */
    @WebEndpoint(name = "StockQuoteHttpPost")
    public StockQuoteHttpPost getStockQuoteHttpPost() {
        return super.getPort(StockQuoteHttpPost, StockQuoteHttpPost.class);
    }

    /**
     * 
     * @param features
     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns StockQuoteHttpPost
     */
    @WebEndpoint(name = "StockQuoteHttpPost")
    public StockQuoteHttpPost getStockQuoteHttpPost(WebServiceFeature... features) {
        return super.getPort(StockQuoteHttpPost, StockQuoteHttpPost.class, features);
    }
    /**
     *
     * @return
     *     returns StockQuoteSoap
     */
    @WebEndpoint(name = "StockQuoteSoap")
    public StockQuoteSoap getStockQuoteSoap() {
        return super.getPort(StockQuoteSoap, StockQuoteSoap.class);
    }

    /**
     * 
     * @param features
     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns StockQuoteSoap
     */
    @WebEndpoint(name = "StockQuoteSoap")
    public StockQuoteSoap getStockQuoteSoap(WebServiceFeature... features) {
        return super.getPort(StockQuoteSoap, StockQuoteSoap.class, features);
    }
    /**
     *
     * @return
     *     returns StockQuoteSoap
     */
    @WebEndpoint(name = "StockQuoteSoap12")
    public StockQuoteSoap getStockQuoteSoap12() {
        return super.getPort(StockQuoteSoap12, StockQuoteSoap.class);
    }

    /**
     * 
     * @param features
     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns StockQuoteSoap
     */
    @WebEndpoint(name = "StockQuoteSoap12")
    public StockQuoteSoap getStockQuoteSoap12(WebServiceFeature... features) {
        return super.getPort(StockQuoteSoap12, StockQuoteSoap.class, features);
    }
    /**
     *
     * @return
     *     returns StockQuoteHttpGet
     */
    @WebEndpoint(name = "StockQuoteHttpGet")
    public StockQuoteHttpGet getStockQuoteHttpGet() {
        return super.getPort(StockQuoteHttpGet, StockQuoteHttpGet.class);
    }

    /**
     * 
     * @param features
     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns StockQuoteHttpGet
     */
    @WebEndpoint(name = "StockQuoteHttpGet")
    public StockQuoteHttpGet getStockQuoteHttpGet(WebServiceFeature... features) {
        return super.getPort(StockQuoteHttpGet, StockQuoteHttpGet.class, features);
    }
}

Here is the content of the wsdl file just in case the website serving it ever goes away.

<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.webserviceX.NET/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.webserviceX.NET/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET/">
      <s:element name="GetQuote">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="symbol" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetQuoteResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetQuoteResult" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="string" nillable="true" type="s:string" />
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetQuoteSoapIn">
    <wsdl:part name="parameters" element="tns:GetQuote" />
  </wsdl:message>
  <wsdl:message name="GetQuoteSoapOut">
    <wsdl:part name="parameters" element="tns:GetQuoteResponse" />
  </wsdl:message>
  <wsdl:message name="GetQuoteHttpGetIn">
    <wsdl:part name="symbol" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetQuoteHttpGetOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:message name="GetQuoteHttpPostIn">
    <wsdl:part name="symbol" type="s:string" />
  </wsdl:message>
  <wsdl:message name="GetQuoteHttpPostOut">
    <wsdl:part name="Body" element="tns:string" />
  </wsdl:message>
  <wsdl:portType name="StockQuoteSoap">
    <wsdl:operation name="GetQuote">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation>
      <wsdl:input message="tns:GetQuoteSoapIn" />
      <wsdl:output message="tns:GetQuoteSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="StockQuoteHttpGet">
    <wsdl:operation name="GetQuote">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation>
      <wsdl:input message="tns:GetQuoteHttpGetIn" />
      <wsdl:output message="tns:GetQuoteHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="StockQuoteHttpPost">
    <wsdl:operation name="GetQuote">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Get Stock quote for a company Symbol</wsdl:documentation>
      <wsdl:input message="tns:GetQuoteHttpPostIn" />
      <wsdl:output message="tns:GetQuoteHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="StockQuoteSoap" type="tns:StockQuoteSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetQuote">
      <soap:operation soapAction="http://www.webserviceX.NET/GetQuote" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="StockQuoteSoap12" type="tns:StockQuoteSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetQuote">
      <soap12:operation soapAction="http://www.webserviceX.NET/GetQuote" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="StockQuoteHttpGet" type="tns:StockQuoteHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="GetQuote">
      <http:operation location="/GetQuote" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="StockQuoteHttpPost" type="tns:StockQuoteHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="GetQuote">
      <http:operation location="/GetQuote" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="StockQuote">
    <wsdl:port name="StockQuoteSoap" binding="tns:StockQuoteSoap">
      <soap:address location="http://www.webservicex.net/stockquote.asmx" />
    </wsdl:port>
    <wsdl:port name="StockQuoteSoap12" binding="tns:StockQuoteSoap12">
      <soap12:address location="http://www.webservicex.net/stockquote.asmx" />
    </wsdl:port>
    <wsdl:port name="StockQuoteHttpGet" binding="tns:StockQuoteHttpGet">
      <http:address location="http://www.webservicex.net/stockquote.asmx" />
    </wsdl:port>
    <wsdl:port name="StockQuoteHttpPost" binding="tns:StockQuoteHttpPost">
      <http:address location="http://www.webservicex.net/stockquote.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

Are you saying it will create a main class with everything instantiated the way it needs to be?

Yes, sort of. It is just a stub client. So you'll have to populate the objects with real data, but the generated stub client gives a good example how to use the code that is generated.

web services - Creating a SOAP client in java given a WSDL file - Stac...

java web-services perl soap wsdl
Rectangle 27 9

wsdl2java

Both links provide code examples. Some searching on the web will get you even farther. There are also options for creating dynamic SOAP clients but the generated ones are easiest.

wsimport

web services - Given a WSDL file, create a simple Java client - Stack ...

java web-services wsdl
Rectangle 27 5

<wsdl:fault name="CMS_API_Exception">
        <soap:fault name="CMS_API_Exception" use="literal" />
<soap:fault name="CMS_API_Exception">
        <soap:fault name="CMS_API_Exception" use="literal" />
    </soap:fault>

web services - Missing "soap:fault" element exception while making wsd...

java web-services soap axis
Rectangle 27 1

Within the SoapUI application you are actually making a call out to the web service and getting a response. In your sample java code you are just generating a response XML from the WSDL file instead of actually calling out to the web service and it's defaulting any required values to have a ?. If you generate the same response within the SoapUI application you will see the same ? set for the findAllReturned element.

You can use the java SoapUI's WSDLSubmit class to make a call out to the web service and get a response back.

The answer to this linked question shows a code sample of how you would go about making an actual call out to the web service using the SoapUI java api: https://stackoverflow.com/a/14814524/8127149

Extract data from soap service using java code - Stack Overflow

java web-services soap wsdl soapui
Rectangle 27 1

I copied it before my method declaration and after the @webmethod, but the eclipse says "multiple markers at this line".

Also is it possible for your design to user List of objects instead of Array of objects ?

modify your code to return ArrayList public ArrayList myCustomers() , in your method body add customers to ArrayList and return that ArrayList

web services - Java generates the WSDL but cant access it using ?wsdl ...

java web-services soap wsdl axis
Rectangle 27 71

  • CXF supports several standards including SOAP, the WSI Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy, and WS-SecureConversation.
  • Apache CXF offers both contract-last (starting with Java) and Contract-first (starting with the WSDL) approaches.

So, at the end, I see Spring WS as a minimal web services framework but consider that it doesn't (in my opinion) have any advantages over Apache CXF (which integrates extremely well with Spring). Between both, I'd pick up Apache CXF.

java - Which framework is better CXF or Spring-WS? - Stack Overflow

java web-services cxf spring-ws
Rectangle 27 71

  • CXF supports several standards including SOAP, the WSI Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, WS-Security, WS-SecurityPolicy, and WS-SecureConversation.
  • Apache CXF offers both contract-last (starting with Java) and Contract-first (starting with the WSDL) approaches.

So, at the end, I see Spring WS as a minimal web services framework but consider that it doesn't (in my opinion) have any advantages over Apache CXF (which integrates extremely well with Spring). Between both, I'd pick up Apache CXF.

java - Which framework is better CXF or Spring-WS? - Stack Overflow

java web-services cxf spring-ws
Rectangle 27 78

I don't know if this was ever solved, but I spent some time googling for a solution to this same problem.

The solution is to run wsimport with the -B-XautoNameResolution (no spaces)

The problem solved by adding this code behind the wsimport command. But the root of this problem for me, there are two different type with adjoining XResponse and with underscore X_Response so it occurs name conflict, if naming would be understandable like XResponse and XResponseDefinition, it will be no problem.

Problem generating Java SOAP web services client with JDK tool wsimpor...

java .net web-services axis wsimport