CXF Validierung benutzerdefinierter handler

Ich bin momentan dabei, einen webservice mit cxf in der folgenden Weise:

<cxf:cxfEndpoint id=XXXEndpoint"
                 serviceClass="com.Sth"
                 address="${webservices.url}/XXX"
                 wsdlURL="${wsdl.address}/services/XXX.wsdl"
                 endpointName="m:XXXPort"
                 serviceName="m:XXXService"
                 xmlns:m="http://com.sth/XXX">
    <cxf:properties>
        <entry key="schema-validation-enabled" value="true" />
    </cxf:properties>
</cxf:cxfEndpoint>

funktioniert es perfekt, auch zusätzliche schema-Validierung. Ich kann nicht fügen Sie eine benutzerdefinierte Gültigkeitsprüfung-handler. Wie kann ich das tun?

  • Zu deiner Aussage "ich kann nicht fügen Sie ein Kunde validaton handler", was haben Sie versucht bis jetzt ?
  • bisher habe ich es so probiert: <entry key="jaxb-Validierung-event-handler"> <bean class="org.Beispiel.MyCustomHandler" /> </entry> wie unten beschrieben. Aber es doen ' T Arbeit. stackoverflow.com/questions/2195034/... ich bin runing es auf der Basis von apache service mix 4.5.2
  • War org.Beispiel.MyCustomHandler gar nicht aufgerufen wird? Oder das Ergebnis unerwartet war?
  • Ich war in der Lage zu führen Sie benutzerdefinierte handler mit Apache ServiceMix 4.5.2 Verwendung von Konfiguration beschrieben in meiner Antwort. Es funktioniert wie erwartet. Bitte beachten Sie, dass wenn Sie werfen eine Ausnahme von handleEvent-Methode, dann wird es ignoriert und JAXB verhält sich so, als wenn false zurückgegeben wurde, und beendet die Verarbeitung. In diesem Fall der Fehler ist genau der gleiche wie bei der Standard-handler. Würde es helfen, wenn Sie könnte angeben, was Sie erreichen möchten, verwenden der validation-handler.
  • Hi, das problem ist, dass mein handler wird nie aufgerufen. Aber die Validierung Ausnahme wird ausgelöst durch den sax-parser - ich sehe es in den Protokollen und in soapui
  • Sie könnten versuchen, ersetzen Sie Ihren handler mit, die ich Hinzugefügt, um meine Antwort? Das Ergebnis sollte sein, dass Sie erhalten keine Fehler, nur zur überprüfung Ereignis protokolliert. Wenn es funktioniert, dann bedeutet es wahrscheinlich, dass es etwas falsch mit Ihrem handler.

InformationsquelleAutor markus | 2013-10-04
Schreibe einen Kommentar