Hello
Im was trying to execute a WS, in Axis 1.4,  with a UsernameToken but
Im having problems and I dont know why.
The WS without security its working correctly

The process what Im doing is:
1.- Deploy the WS like:
java org.apache.axis.client.AdminClient
-lhttp://localhost:8080/repeat/services/AdminService
server-config.wsdd

2.-(Once time) generate the Client classes with Wsdl2Java
java org.apache.axis.wsdl.WSDL2Java -o .
-Nhttp://localhost:8080/repeat/services/EchoRepeat com.repeat.client
http://localhost:8080/repeat/services/EchoRepeat?wsdl

3.- In the EchoRepeatSoapBindingStub, before to make the invoke y put
the properties:
  _call.setUsername("Ignacio");
        _call.setPassword("sign");
        _call.setProperty(WSHandlerConstants.PW_CALLBACK_CLASS,
com.repeat.client.PWCallback.class);

4.- Run the WS
java -Daxis.ClientConfigFile=client_config.wsdd com.repeat.client.Main
TB-Solutions
(Here its right if its hasn't security), if it has security, sais
"WSDoAllReceiver: Request does not contain required Security header"

What is wrong either in the process either code?
Any help is welcome
Thanks to all.


[1 / 4] My server-config.wsdd is:
-------------------------------------------------------------------------------------
<deployment xmlns="http://xml.apache.org/axis/wsdd/";
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
 <globalConfiguration>
  <parameter name="sendMultiRefs" value="true"/>
  <parameter name="disablePrettyXML" value="true"/>
  <parameter name="adminPassword" value="admin"/>
  <parameter name="attachments.Directory"
value="C:\Servers\apache-tomcat-5.5.25\webapps\axis\WEB-INF\attachments"/>
  <parameter name="dotNetSoapEncFix" value="true"/>
  <parameter name="enableNamespacePrefixOptimization" value="false"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="attachments.implementation"
value="org.apache.axis.attachments.AttachmentsImpl"/>
  <parameter name="sendXsiTypes" value="true"/>
  <requestFlow>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="session"/>
   </handler>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="request"/>
    <parameter name="extension" value=".jwr"/>
   </handler>
  </requestFlow>
 </globalConfiguration>
 <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
 <handler name="LocalResponder"
type="java:org.apache.axis.transport.local.LocalResponder"/>
 <handler name="Authenticate"
type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
 <service name="EchoRepeat" provider="java:RPC" style="document" use="literal">
  <requestFlow>
   <handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
    <parameter name="passwordCallbackClass"
value="com.repeat.client.PWCallback"/>
    <parameter name="action" value="UsernameToken"/>
   </handler>
  </requestFlow>
  <parameter name="allowedMethods" value="*"/>
  <parameter name="scope" value="application"/>
  <parameter name="className" value="com.repeat.main.EchoRepeat"/>
 </service>



[2 / 4]Mi client_config.wsdd is:
-------------------------------------------------------------------------------------
<deployment xmlns="http://xml.apache.org/axis/wsdd/";
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
  <service name="EchoRepeat">
  <requestFlow>
   <handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
    <parameter name="action" value="UsernameToken"/>
    <parameter name="user" value="Ignacio"/>
    <parameter name="passwordType" value="PasswordText" />
    <parameter name="passwordCallbackClass"
      value="com.repeat.client.PWCallback"/>
   </handler>
  </requestFlow>
  </service>
</deployment>


[3 / 4] Mi WS calling is:
-------------------------------------------------------------------------------------
{
        EchoRepeatservice = null;
                        EngineConfiguration config = createClientConfig();
                        EchoRepeatServiceLocator locator = new 
EchoRepeatServiceLocator(config);
                        
locator.setEchoRepeatEndpointAddress("http://zaz-elorriagai.tb-solutions.com:8080/repeat/services/EchoRepeat";);
                        service = locator.getEchoRepeat();
                        System.out.println(service.echo(args[0]));
}
public static EngineConfiguration createClientConfig(){
      SimpleProvider clientConfig=new SimpleProvider();
      Handler sessionHandler=(Handler)new SimpleSessionHandler();
      SimpleChain reqHandler=new SimpleChain();
      SimpleChain respHandler=new SimpleChain();
      reqHandler.addHandler(sessionHandler);
      respHandler.addHandler(sessionHandler);
      Handler pivot=(Handler)new HTTPSender();
      Handler transport=new SimpleTargetedChain(reqHandler, pivot, respHandler);
      
clientConfig.deployTransport(HTTPTransport.DEFAULT_TRANSPORT_NAME,transport);
      return clientConfig;
    }


[4 / 4] The stack error:
-------------------------------------------------------------------------------
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode:
 faultString: WSDoAllReceiver: Request does not contain required Security header
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}hostname:zaz-elorriagai

WSDoAllReceiver: Request does not contain required Security header
        at 
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
        at 
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
        at 
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown 
Source)
        at javax.xml.parsers.SAXParser.parse(Unknown Source)
        at 
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
        at 
org.apache.axis.handlers.SimpleSessionHandler.doClient(SimpleSessionHandler.java:173)
        at 
org.apache.axis.handlers.SimpleSessionHandler.invoke(SimpleSessionHandler.java:157)
        at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at 
com.repeat.client.LoginWSSoapBindingStub.echo(LoginWSSoapBindingStub.java:224)
        at com.repeat.client.Main.main(Main.java:21)

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to