Hi, I'm developing two application to communicate with each other via SOAP web service. The service I developed is an easy one and consists of an interface:
@WebService() @SOAPBinding(style = Style.RPC) public interface MyService1 {
@WebMethod String sayHello(String name); }
... and an implementation class:
@WebService(endpointInterface="com.ibm.app1.MyService1", portName = "MyService1Port", serviceName = "MyService1Service") public class MyService1Impl {
public String sayHello(String name) { return "Hallo " + name; } }
My question is now how to find the web service endpoint of this service? I would expect anything like myapp.mybluemix.net/MyService1/MyService1Service?WSDL but the WSDL is not there. Neither the logs nor the file system structure gives any hint and I can't find any administrative console as I'm used to in a WebSphere Application Server that lists all services of a deployed application.
Thanks for your help again!
Answer by Jarek Gawor (851) | Aug 26, 2014 at 01:47 PM
I assume you are deploying this application as a .war or .ear file using the Liberty Buildpack? If so, you need to enable the jaxws-2.2 feature to get the webservices support working. By default, this feature is not enabled. See the Standalone Applications section in the doc for details on the features that are enabled by default when deploying .war/.ear applications. In order to get this feature enabled, you'll need to deploy a Liberty server package. The server package needs to contain the server.xml configuration file where the jaxws-2.2 feature is enabled. See the Packaged Server section in the doc for details on creating and deploying server packages.