سؤال

ولدي اثنين من النهاية استخدام التعليقات. أريد أن تطبيق اعتراضية مختلفة لكل منها. (واحد كونه اعتراضية آمن والآخر عدم آمن) هل هناك طريقة للقيام بذلك PayloadRootAnnotationMethodEndpointMapping تستخدمه؟ أي شخص لديك فكرة؟

ووفقا لapplicationContext-ws.xml من المثال الجوي الذي يأتي مع الربيع:

<اقتباس فقرة>   

والخريطة تعيينات نقطة النهاية من   طلب إلى نقطة النهاية. لأننا   نريد فقط اعتراض الأمن ل   تحدث ل   GetFrequentFlyerMileageEndpoint، ونحن   تحديد اثنين من تعيينات: واحد مع   securityInterceptor، واحد العام   دون ذلك.

وهكذا هي الطريقة الوحيدة للقيام بذلك هي لاثنين من تعيينات مختلفة: org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping وorg.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping لتلك آمنة

هل كانت مفيدة؟

المحلول

عند إعطاء اعتراضية تعيينها إلى EndpointMapping، ثم سيتم تطبيق تلك الصواريخ الاعتراضية إلى جميع نهايات المعين من قبل أن EndpointMapping. حتى إذا كنت تريد بعض نقاط النهاية للحصول على مجموعة مختلفة من الصواريخ الاعتراضية إلى نهايات أخرى، ثم نعم، تحتاج اثنين من الفاصوليا EndpointMapping مختلفة، واحدة مع اعتراضية آمن ورسم خرائط لنقاط النهاية آمنة، وآخر مع عدم وجود اعتراض ورسم خرائط لنقاط النهاية غير المضمونة .

وأي تطبيقات EndpointMapping استخدام تعتمد على الطلب وأي نوع من النهايات يستخدمه.

نصائح أخرى

ويمكنك أيضا استخدام SWS: عنصر اعتراضية في سياق التطبيق الخاص بك لتحديد اعتراضية خاصة مع النهاية معينة، تمت تصفيتها من قبل soapAction أو سمات payloadRoot

.

ومن: 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"/>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top