javax.xml.ws.WebServiceException:不是有效的端口
我正在尝试使用jax-WS进行dinamic-WS调用 但我无法创建dispatcher,代码是:javax.xml.ws.WebServiceException:不是有效的端口,java,web-services,jax-ws,Java,Web Services,Jax Ws,我正在尝试使用jax-WS进行dinamic-WS调用 但我无法创建dispatcher,代码是: String namespace= "http://wsf.cdyne.com/WeatherWS/Weather.asmx"; try { QName serviceName = new QName(namespace, "GetCityForecastByZIP"); Service s = Service.create(serviceName); QName port
String namespace= "http://wsf.cdyne.com/WeatherWS/Weather.asmx";
try {
QName serviceName = new QName(namespace, "GetCityForecastByZIP");
Service s = Service.create(serviceName);
QName portName = new QName(namespace, "WeatherSoap12");
Dispatch<DOMSource> dispatch = s.createDispatch(portName,
DOMSource.class,
Service.Mode.PAYLOAD);
...
String名称空间=”http://wsf.cdyne.com/WeatherWS/Weather.asmx";
试一试{
QName serviceName=新的QName(名称空间,“GetCityForecastByZIP”);
服务s=Service.create(serviceName);
QName portName=新的QName(名称空间,“WeatherSoap12”);
Dispatch Dispatch=s.createDispatch(端口名,
DOMSource.class,
服务模式有效载荷);
...
错误是
javax.xml.ws.WebServiceException:{http://wsf.cdyne.com/WeatherWS/Weather.asmx}WeatherSoap12不是有效端口。有效端口包括:
我已在检查WSDL,但无法确定错误的原因
有什么帮助吗?已解决。使用的示例代码不完整,我需要将端口添加到服务器
s.addPort(portName, SOAPBinding.SOAP12HTTP_BINDING, WSDL_ENDPOINT_URL);
webservice地址与wsdl中的命名空间声明不同。
http://wsf.cdyne.com/WeatherWS/Weather.asmx
不是该ws的命名空间,而是Web服务地址。命名空间
应设置为http://ws.cdyne.com/WeatherWS
使用相同的错误,我非常困惑用作参考的样本s不完整。我需要将端口添加到服务器s.addPort(端口名、SOAPBinding.SOAP12HTTP_绑定、WSDL_端点_URL);