mvn archetype:generate -DgroupId=com.example -DartifactId=myjaxwslib -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
<dependencies>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.3.2</version>
</dependency>
</dependencies>
package com.example;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class WebService {
@WebMethod
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
package com.example;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public interface WebServiceInterface {
@WebMethod
String sayHello(String name);
}
mvn clean package
mvn jetty:run
package com.example;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;
public class WebServiceClient {
public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost:8080/WebService?wsdl");
QName qname = new QName("http://example.com/", "WebServiceService");
Service service = Service.create(url, qname);
WebServiceInterface port = service.getPort(WebServiceInterface.class);
String response = port.sayHello("World");
System.out.println(response);
}
}
mvn exec:java -Dexec.mainClass="com.example.WebServiceClient"