2009-06-25 5 views
1

I Authentifizierung über WS-Security auf meinem Webservice implementiert haben, wie bei http://static.springframework.org/spring-ws/sites/1.5/reference/html/security.html beschrieben, etwa so:Frühling WS-Security sichtbar in WSDL

<bean id="callbackHandler" class="org.springframework.ws.soap.security.wss4j.callback.SimplePasswordValidationCallbackHandler"> 
    <property name="users"> 
     <props> 
      <prop key="bart">arnie</prop> 
     </props> 
    </property> 
</bean> 

<bean id="annotationMapping" class="org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping"> 
    <property name="interceptors"> 
     <list> 
      <bean class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor"> 
       <property name="validationActions" value="UsernameToken" /> 
       <property name="securementActions" value="NoSecurity" /> 
       <property name="validationCallbackHandler" ref="callbackHandler" /> 
      </bean> ... 

jedoch Kunden (wie SoapUI) weiß nicht, dass sie sollte Sicherheit verwenden, da es in der WSDL nicht erwähnt wird. Wie kann ich es bekommen? Dies ist, wie ich es generieren:

<bean id="qwertyService" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition"> 
    <property name="schemaCollection" ref="schemaCollection" /> 
    <property name="portTypeName" value="QwertyService" /> 
    <property name="locationUri" value="/QwertyService/" /> 
    <property name="targetNamespace" value="http://www.ead2.nl/demo/wsdl" /> 
</bean> 
+0

offenbar falsch verstanden ich WS-Security und es ist nicht möglich, dies in der WSDL angeben. Fühlen Sie sich frei, dem aber zu widersprechen. –

Antwort

1

WS-Security von selbst ist in der WSDL nicht platziert. WS-Policy baut auf WS-Security auf, möglicherweise ist es möglich, diese anspruchsvolleren Standards zu verwenden, um sie der WSDL hinzuzufügen, aber es klingt nicht so, als ob Sie das möchten.

In SOAPUI werden die Sicherheitsinformationen als Einstellungen für das Projekt erstellt. Wenn Sie auf das Projekt doppelklicken, gibt es eine Sicherheitsregisterkarte. Schlüsselspeicher können hinzugefügt werden, wenn Sie ein PKI-basiertes Schema verwenden und Sie ausgehende und eingehende Konfigurationen definieren können. Ein Paar Konfigurationen kann auf jede Nachricht angewendet werden, abhängig davon, was in der Nachricht gesichert werden soll.

See: http://www.soapui.org/userguide/projects/wss.html

+0

Das ist in der Tat, was ich getan habe. Akzeptierte deine Antwort um der anderen willen –

1

Es ist durchaus möglich, WS-Security-Informationen in einer WSDL-Datei zu vermitteln !!!!!

Blick auf ws-Politik und speziell ws-Securitypolicy (die beide gehen zusammen)

aber ich nicht in der Lage bin specifcally Ihnen bei der Umsetzung zu helfen.

hoffte, das hilft