javax.xml.ws.WebServiceException:不是有效的端口

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

我正在尝试使用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 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);