使用@WebServiceProvider的Web服务类的端点URL和WSDL

时间:2015-01-13 05:35:46

标签: web-services

如何使用@WebServiceProvider发布Web服务类?在这种情况下,端点URL是什么? 我们可以使用@WebServiceProvider生成wsdl,就像使用的情况一样 @WebService?“wsdlLocation”属性在@WebServiceProvider中意味着什么?

例如

@ServiceMode(value = Service.Mode.MESSAGE)
@WebServiceProvider(portName = "ProviderPort",serviceName = "ProviderService",
    targetNamespace = "http://bean/")
public class WebServiceProviderImpl implements Provider<SOAPMessage>

1 个答案:

答案 0 :(得分:0)

最简单的方法是 -

package server;
import javax.xml.ws.Endpoint;

    public class Server {

        protected Server() throws Exception {
            System.out.println("Starting Server");
            System.out.println("Starting SoapService1");
            Object implementor = new WebServiceProviderImpl();
            String address = "http://localhost:8123/SoapContext/SoapPort1";
            Endpoint.publish(address, implementor);
            }

        public static void main(String args[]) throws Exception {
            new Server();
            System.out.println("Server ready...");
            Thread.sleep(5 * 60 * 1000);
            System.out.println("Server exiting");
            System.exit(0);
        }

网址为&#34;地址&#34;。据我所知,只要端口是免费的,您可以根据需要指定它。

或者,您可以使用作为CXF一部分的JAXWsServerFactoryBean。 你会做与SEI一样的事情。

是的,它确实为您生成了一个WSDL。 您可以使用wsimport从SEI

创建客户端存根