Spring WS Ungültiger Content-Type
Ich habe eine Spring-WS-client. Ich generierte WSDL-stubs über wsimport.
Wenn ich versuche, eine Anfrage zu senden, bekomme ich ein Ungültiger Content-type-Ausnahme:
SCHWERER: SAAJ0537: Ungültiger Content-Type. Könnte eine Fehlermeldung anstelle einer SOAP-Nachricht
Exception in thread "main" org.springframework.ws.Seife.SoapMessageCreationException: es Konnte keine Nachricht von InputStream: Ungültiger Content-Type:text/html. Ist dies eine Fehlermeldung, anstatt eine SOAP-Antwort?; verschachtelte Ausnahme ist com.Sonne.xml.messaging.saaj.SOAPExceptionImpl: Ungültiger Content-Type:text/html. Ist dies eine Fehlermeldung, anstatt eine SOAP-Antwort?
Ist dies ein Indiz dafür, dass die Botschaft, die ich geschickt hat eine ungültige content-type oder die Antwort, die ich erhalten, ist ein Ungültiger content-type? Wenn es auf der client-Seite, wie richte ich den content-type?
Ich versuchte Spott der web-service über Soap-UI. Ich bin in der Lage zu senden und empfangen, richtige Antwort.
Edit:
Auf mein log, ist es angezeigt, dass die Anfrage gesendet wird:
DEBUG [org.springframework.ws.client.MessageTracing.gesendet] - Gesendete Anforderung
Dann bekomme ich die exception:
Exception in thread "main" org.springframework.ws.Seife.SoapMessageCreationException:
Du musst angemeldet sein, um einen Kommentar abzugeben.
Problem gelöst.
Es stellt sich heraus, ich war NICHT senden von SOAP-Inhalte. Der SOAP-header ist richtig eingestellt. Aber der SOAP-body ist leer. Um das Problem zu beheben hatte ich zu befestigen, die Inhalte, die ich bin anfordern.
Bevor:
Nach:
Dieser Fehler übersehen wurde von mir, weil ich war der Fokus auf der Portierung einer ACHSE angezeigt werden 1.x-client-Implementierung zu einer Spring-WS-Implementierung.
Einige Menschen, darunter auch Arjen Poustma, schlug verwenden Sie tcpmon, um zu schnuppern, was gesendet wird. Ich wollte nicht verwalten, konfigurieren und führen Sie es richtig (das ist eine weitere nicht-Problem). Aber dies gab mir eine Idee, die zu prüfen erste, was gesendet von meinem Antrag.
Schaute ich mich um und sah ein ähnliches problem im Frühjahr Foren über die ungültigen Inhaltstyp auf WS-Client mithilfe von JAXB für marshalling. Das Letzte Plakat vorgeschlagen, die CommonsHttpMessageSender, wie das Beispiel bot er an Web Service Clients mit Spring-WS (was gut ist). Mit der CommonsHttpMessageSender es war in der Lage, drucken Sie meine ganzen SOAP-envelope:
Bin ich dokumentieren hier meine Erfahrungen, weil ich weiß, eines Tages wird es einen anderen Kerl wie mich, die haben das gleiche problem.