It just working!

sorry for the mail.

What i have done is change the method of mi createEngineConfiguration(), like:

 AxisProperties.setProperty("enableNamespacePrefixOptimization","false");
                  SimpleProvider clientConfig = new SimpleProvider();
                  Handler securitySenderHandler = (Handler) new WSDoAllSender();
                  securitySenderHandler.setOption(WSHandlerConstants.ACTION,
WSHandlerConstants.USERNAME_TOKEN);
                  securitySenderHandler.setOption(WSHandlerConstants.USER, 
"Ignacio");
                  
securitySenderHandler.setOption(WSHandlerConstants.PW_CALLBACK_CLASS,"com.repeat.client.PWCallback");
                  
securitySenderHandler.setOption(WSHandlerConstants.MUST_UNDERSTAND,
"false");
                  SimpleChain reqHandler = new SimpleChain();
                  SimpleChain respHandler = new SimpleChain();
                  reqHandler.addHandler(securitySenderHandler);
                
                  Handler pivot = (Handler) new HTTPSender();
                  Handler transport = new SimpleTargetedChain(reqHandler, 
pivot, respHandler);
                  
clientConfig.deployTransport(HTTPTransport.DEFAULT_TRANSPORT_NAME,transport);
                  return clientConfig;

Sorry



2008/4/18, Ignacio Elorriaga <[EMAIL PROTECTED]>:
> 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