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]