Frage

Ich habe zwei Endpunkte mit Anmerkungen. Ich möchte verschiedene Abfangjäger zu jedem von ihnen gelten. (Man ein sicherer Abfangjäger und die andere sind sicher nicht) Gibt es eine Möglichkeit, dies mit PayloadRootAnnotationMethodEndpointMapping zu tun? Wer eine Idee?

Nach dem application-ws.xml der Fluggesellschaft Beispiel, die mit Frühling kommt:

  

Der Endpunkt-Mappings Karte von a   an einen Endpunkt anfordern. Weil wir   nur wollen die Sicherheit Interception   auftreten für die   GetFrequentFlyerMileageEndpoint, wir   definieren zwei Zuordnungen: eine mit dem   SecurityInterceptor, und ein allgemeiner   ohne sie.

So ist der einzige Weg, dies zu tun ist, zwei verschiedene Zuordnungen haben: org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping und org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping für die sicher diejenigen

War es hilfreich?

Lösung

Wenn Sie eine Interceptor geben zu einem EndpointMapping gesetzt, dann werden diese Abfangjäger auf alle unter diesen EndpointMapping abgebildet Endpunkte anzuwenden. Also, wenn Sie einige Endpunkte wollen einen anderen Satz von Abfangraketen auf andere Endpunkte zu bekommen, dann ja, müssen Sie zwei verschiedene EndpointMapping Bohnen, eine mit dem sicheren Abfangjäger und Abbildung auf die sicheren Endpunkte und andere ohne Abfangjäger und Abbildung auf die ungesicherten Endpunkte .

Welche EndpointMapping Implementierungen Sie verwenden, ist abhängig von der Anwendung und welche Arten von Endpoints es verwendet.

Andere Tipps

Sie können mit auch die sws: Abfangjäger Element in Ihrem Anwendungskontext zu bestimmten Abfangjäger mit bestimmten Endpunkten, gefiltert durch ihre Soapaktion oder payloadRoot Attribute

angeben.

Von: http://static.springsource.org /spring-ws/site/reference/html/server.html#server-endpoint-interceptor

<sws:interceptors>
  <bean class="samples.MyGlobalInterceptor"/>
  <sws:payloadRoot namespaceUri="http://www.example.com">
    <bean class="samples.MyPayloadRootInterceptor"/>
  </sws:payloadRoot>
  <sws:soapAction value="http://www.example.com/SoapAction">
    <bean class="samples.MySoapActionInterceptor1"/>
    <ref bean="mySoapActionInterceptor2"/>
  </sws:soapAction>
</sws:interceptors>

<bean id="mySoapActionInterceptor2" class="samples.MySoapActionInterceptor2"/>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top