JAX-WS-client ohne WSDL-Dokument-Datei
Ich bin verbraucht, webservice, soa, mit netbeans (jax-ws) ich benutze netbeans automatisch generieren, Kunden, und alle laufen problemlos, aber ich sehe, dass die wsdl ist immer herunterladen, während der client ausgeführt wird.
In der Produktion will ich nicht aussetzen, wsdl, und ich bin versucht, ändern Sie die client-für nicht erforderlich, wsdl, alle meine beabsichtigt falsch sind, finde ich dies:
WebService_Service svc = new WebService_Service(
null,
new QName("http://www.example.com/ws", "WebService"));
WebService port = svc.getPort(WebService.class);
BindingProvider bindingProvider = (BindingProvider) port;
bindingProvider.getRequestContext()
.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://www.example.com/real_endpoint_url_goes_here");
aber, wenn die erste Zeile ausgeführt wird, fand ich diese exception:
Message: El contenido no está permitido en el prólogo.
at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.wrapException(Unknown Source)
at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.next(Unknown Source)
at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.nextContent(Unknown Source)
at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.nextElementContent(Unknown Source)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.hasWSDLDefinitions(Unknown Source)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(Unknown Source)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(Unknown Source)
at javax.xml.ws.Service.<init>(Unknown Source)
Jede Idee zu ignorieren, wsdl?
- endlich habe ich die Migration der client CXF, und alle funktionieren
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es mehrere Möglichkeiten, von denen ich Ihnen zwei:
Verwenden Sie eine WSDL-Datei lokal
Speichern Sie eine Kopie der WSDL-Dokument-Datei und die schemma Dateien zu Ihrem Projekt.
Können Sie kombinieren das WSDL-Dokument-Datei mit den schema-Dateien.
Ohne ein WSDL-Dokument-Datei
Diese Lösung erfordert die client generiert.
Schließlich benutze ich die CXF-Bibliotheken, und ich erreichen, verwenden Sie die Paul Varga Antwort:
Verwendung von standard-Kiefer-ws, diese Lösung nicht funktionieren, CXF notwendig ist.
Brauchte ich so etwas auch.
In meinem Fall hatte ich eine dummy-wsdl-ohne Endpunkt-Adresse in meinem web-app-classpath. Nach, dass ich eine gültige Adresse zur Laufzeit, wie folgt:
Diese Ausnahme passiert während es ist ein parse-Fehler in xml-und es ist etwas falsch in der angegebenen Zeile und Spalte. Überprüfen Sie Ihre xml -