2009-08-17 5 views
1

Ich entwickle ein Web-Service-Projekt, in dem ich einen Web-Service implementieren muss, der auf allen Plattformen interoperabel sein soll. Anfangs verwendete ich basicHttpBinding, da es SOAP 1.1 verwendet, aber ich möchte die Features von WS- * wie zuverlässige Nachrichtenübermittlung, Sicherheit, Ausnahmen. Also habe ich wsHttpBinding verwendet, was ein SOAP 1.2-Standard ist.Wie konsumiert SOAP 1.2 Web Service in WCF von einem Java-Client erstellt?

Jetzt nach der Bereitstellung auf meinem Testserver habe ich Netbeans IDE verwendet, um einen Webservice-Client zu generieren. Im Gegenzug rief es das Tool wsimport in Java auf, um Proxy-Klassen zu generieren. Wenn ich irgendeine Methode aufrufe, geht sie einfach in den nicht funktionierenden Zustand, als ob es für 5 Minuten keine Aktivität gibt. Ich bin also nicht in der Lage, herauszufinden, ob der Java-Client einen in WCF erstellten SOAP 1.2-Webdienst verwenden kann.

Ich muss wissen, ob ich eine andere Bindung als wsHttpBinding für alle Features verwenden muss und auch Interoperabilität haben.

Ich erhalte keinen Fehler, wenn ich die Webmethode aufruft.Ich habe versucht, es zu debuggen, aber keine Hilfe.Ich setze einen Unterbrechungspunkt in der Zeile, die die Methode aufgerufen hat, wenn der Debugger diese Zeile erreicht, passiert nichts, Die IDE zeigt den Laufstatus, aber es gibt keine Aktivität. Wenn jemand ein Tool vorschlagen kann, um die HTTP-Anfrage an den Server zu überwachen.

+0

Ich fing an, diese Frage zu lesen, ging aber verloren, wenn es keine Perioden gab. Ich denke, es geht um Interoperabilität, aber nicht sicher, was das Problem ist. Kannst du es umschreiben, in ein paar vollständigen Sätzen? – Cheeso

+0

Erhalten Sie eine Fehlermeldung vom Java-Client oder gar nichts? Sie sollten mindestens eine Auszeit bekommen ... –

Antwort

0

Haben Sie versucht, die Kommunikation zwischen dem Java-Client und dem WCF-Dienst zu verfolgen?

Ich würde zuerst zwei Dinge tun, einschalten WCF anmelden; Verwenden Sie ein Trace-Tool (es gibt viele Tike-Tcptrace), um als Proxy zwischen dem Client und dem Server zu fungieren, und weisen Sie dann den Client auf das Trace-Tool und das Trace-Tool auf dem Server. Auf diese Weise sehen Sie, wie der Datenverkehr und das XML (falls vorhanden) zurückgeschickt werden. Das sollte Ihnen eine viel bessere Vorstellung davon geben, was vor sich geht.

+0

Ich überprüfte mit HTTP-Monitor für XML, die an den Server gesendet wird und ich denke, Problem liegt dort. (. NET) Client und Java Client sendet zwei verschiedene Dinge. Also was ich brauche besteht darin, Nachrichten zu steuern, die vom Java-Client an den Server gesendet werden. –

+0

Überprüfen Sie daher mit Ihrem Java-Toolkit, ob Sie die Nachricht ändern können. Eine andere Möglichkeit wäre, Ihren Client mit rohen XML-APIs zu schreiben, anstatt sich auf das Toolkit zu verlassen. Auf diese Weise haben Sie die volle Kontrolle über was gesendet wird –

0

Warum nicht einen anderen Endpunkt mit SOAP 1.1 konfigurieren?

+0

ya, ich kann das tun.aber was ich eigentlich brauche, ist die Funktionen von WS-*, die nur in SOAP 1.2 verfügbar ist. –