1

jax-ws を使用して動的 WS 呼び出しを実行しようとしています。

しかし、ディスパッチャーを作成できません。コードは次のとおりです。

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);
...

エラーは javax.xml.ws.WebServiceException です: {http://wsf.cdyne.com/WeatherWS/Weather.asmx}WeatherSoap12 は有効なポートではありません。有効なポートは次のとおりです。

http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDLでWSDL を確認しましたが、エラーの理由を特定できません。

何か助けはありますか?

4

1 に答える 1

2

解決しました。使用したサンプル コードは不完全でした。サーバーにポートを追加する必要があります。

s.addPort(portName, SOAPBinding.SOAP12HTTP_BINDING, WSDL_ENDPOINT_URL);
于 2012-12-04T08:37:56.863 に答える