我已经创建了一个Web服务客户端JAR,并在EJB类中设置了以下变量。
@WebServiceRef(.....WSDL Location)
static ABCService service;
...
ABCPortType port = service.getABCPort();
port.hello()
对于此静态配置,对SOAP Web服务的调用已成功。
但是,当我尝试使用以下代码在运行时配置WSDL位置时
String wsdlLocation = "a wsdl location";
BindingProvider bindingProvider = (BindingProvider)port;
bindingProvider.getRequestContext()
.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, wsdlLocation);
它提示了错误:
WSWS7263E:发生以下异常:java.net.ConnectException: 找不到HTTP(404)地址:WSDL位置
请注意,错误日志中的wsdl位置与在静态配置方案中使用的注释WebServiceRef中的位置相同。
作为进一步的信息,我正在使用Websphere 8.5。
想看看我是否在这里缺少任何东西。谢谢。