Axis2 Incoming message does not contain required Security header

Hallo

Mein Client soll auf ein Webservice zugreifen, und das mithilfe von rampart.

Meine service.xml vom Service:
Code:
<module ref="rampart" />
	<parameter name="InFlowSecurity">
      <action>
        <items>UsernameToken Timestamp</items>
        <passwordCallbackClass>at.brz.absys.handler.PWCBHandler</passwordCallbackClass>
      </action>
    </parameter>

nach dem Mein Service nun einen Security Header verlangt scheint es Serverseitig mal ok zu sein.

Nun ist der Client dran
Nach dem es mehrere Clienten gibt dachte ich mir ich verwende die:
createConfigurationContextFromURIs methode um axis zu konfigurieren.

Diese Methode verlangt ein Repository, also erstellte ich auf meinem Server einen Ordner clientconf mit einem Unterordner modules.
Code:
-clientconf
  axis.xml
  -modules
    rampart.mar
    ..usw..
in der axis2.xml für meine clienten habe ich folgenden eintrag:
Code:
<module ref="rampart" />
	<parameter name="OutFlowSecurity">
    	<action>
        	<items>UsernameToken</items>
        	<user>bob</user>
        	<passwordCallbackClass>at.brz.absys.handler.PWCBHandler</passwordCallbackClass>
      	</action>
    </parameter>
jedenfalls wenn ich den Clienten starte bekomme ich die Exception:
message does not contain required Security header

Wenn ich mir den Netzwerkverkehr ansehe sehe ich das mein Client sich das service.list file holen möchte
GET /.../...clientconf/services/services.list HTTP/1.1

Warum möchte mein Client diese services.list haben?
Er soll doch lediglich einen Security Header an meiner SOAP Message anhängen,
und damit mein Webservice ansprechen.

Sollt ich den Clienten anders konfigurieren?
Warum zieht mein rampart module beim clienten nicht?
Kann mir jemand weiter helfen?
 
also gut.. ich hab vergessen die Konfiguration dem ServerClient zu übergeben:
Code:
serviceClient = new ServiceClient(ctx, null);
			options = new Options();			
			options.setTo(new EndpointReference(endpoint));
			serviceClient.setOptions(options);
jetzt bekomme ich die meldung zurück:
Code:
org.apache.axis2.AxisFault: The server did not recognise the action which it received: 
	at org.apache.axis2.handlers.addressing.AddressingInFaultHandler.invoke(AddressingInFaultHandler.java:113)
	at org.apache.axis2.engine.Phase.invoke(Phase.java:317)
	at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163)
	at org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOutOnlyOperationClient.handleResponse(RobustOutOnlyAxisOperation.java:90)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
	at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:474)
	at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:454)
	at at.brz.agent.DataReadAgent.run(DataReadAgent.java:60)
	at at.brz.agent.DataReadAgent.main(DataReadAgent.java:28)
 
Habe das ganze nun mit Policys versucht laut dem howto laut dem Sample welches bei Rampart dabei war.

Der Client hängt mir jedoch nach wie vor keinen Security Header an meine Soap..

Code:
org.apache.axis2.AxisFault: Missing wsse:Security header in request
	at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
	at org.apache.axis2.description.RobustOutOnlyAxisOperation$RobustOutOnlyOperationClient.handleResponse(RobustOutOnlyAxisOperation.java:91)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
	at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:474)
	at org.apache.axis2.client.ServiceClient.sendRobust(ServiceClient.java:454)
	at at.brz.agent.DataReadAgent.run(DataReadAgent.java:66)
	at at.brz.agent.DataReadAgent.main(DataReadAgent.java:28)

Hat denn niemand einen Rat?
 
Zurück