Java 来自WSDL的JAX-WS端口

Java 来自WSDL的JAX-WS端口,java,web-services,wsdl,jax-ws,port,Java,Web Services,Wsdl,Jax Ws,Port,我有一个JAX-WS导入的WSDL客户机。当我尝试连接到webservice端点时,JAX-WS客户端尝试加载WSDL。为什么 我不想在我的项目中存储WSDL 我不想再次从webservice URL加载WSDL 问题: 是否有机会绕过这种行为 如何在运行时添加webservice端点URL 添加具有相同QName和端口名的端口失败,因为我无法添加相同的QName和端口名。添加不同的端口是可以的,但我无法从webservice委托获得它,因为WSDL不包含添加的端口定义 JAX-WS似乎

我有一个JAX-WS导入的WSDL客户机。当我尝试连接到webservice端点时,JAX-WS客户端尝试加载WSDL。为什么

  • 我不想在我的项目中存储WSDL
  • 我不想再次从webservice URL加载WSDL
问题

  • 是否有机会绕过这种行为
  • 如何在运行时添加webservice端点URL
添加具有相同QName和端口名的端口失败,因为我无法添加相同的QName和端口名。添加不同的端口是可以的,但我无法从webservice委托获得它,因为WSDL不包含添加的端口定义


JAX-WS似乎完全错了:(

今天您很幸运。正如您所提到的,有一种方法

QName qname = new QName("http://thenamespace", "FooService");
FooService service = new FooService(null, qname); // null for ignore WSDL file
Foo port = service.getFooPort();
BindingProvider bindingProvider = (BindingProvider) port;
bindingProvider.getRequestContext()
    .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
    "http://foo.com/soap/fooBean");

// Use the service
Object obj = port.doSomething(param);