Ted,

We are past this point now :) Please take a look. 

- You will need to use latest code from CVS for jakarta-log4j, xml-security and 
xml-axis.
- updated build scripts to automatically run the signing and verification steps if the 
security
classes are present.
- We still have the relative namespace problem with AdminService.
- There are some exceptions in TestTCPTransportSample sample.

Thanks,
dims

--- "Theodore W. Leung" <[EMAIL PROTECTED]> wrote:
> Hi,
> 
> I've back to working on transparent digital signature of the functional
> tests.   I've run into a problem that I don't know how to solve: 
> Sometime the client-side signer samples.security.ClientSigningHandler
> works just fine -- most notably when used with
> org.apache.axis.client.AdminClient.  I can deploy all the services that
> I want and  the deployment requests all get signed just fine.  When I
> actually try to run a deployed test, I get:
> 
> 
> Beginning Client signing...
> java.io.IOException: No serializer found for class java.lang.String in
> registry org.apache.axis.encoding.SerializationContextImpl@5c62d539
>       at
>
org.apache.axis.encoding.SerializationContextImpl.serializeActual(SerializationContextImpl.java:864)
>       at
> 
>org.apache.axis.encoding.SerializationContextImpl.serialize(SerializationContextImpl.java:526)
>       at org.apache.axis.message.RPCParam.serialize(RPCParam.java:133)
>       at org.apache.axis.message.RPCElement.outputImpl(RPCElement.java:198)
>       at
> org.apache.axis.message.MessageElement.output(MessageElement.java:481)
>       at
> org.apache.axis.message.SOAPEnvelope.outputImpl(SOAPEnvelope.java:439)
>       at
> org.apache.axis.message.MessageElement.output(MessageElement.java:481)
>       at
> org.apache.axis.message.MessageElement.getAsDocument(MessageElement.java:423)
>       at
> samples.security.SignedSOAPEnvelope.init(SignedSOAPEnvelope.java:118)
>       at
> samples.security.SignedSOAPEnvelope.<init>(SignedSOAPEnvelope.java:101)
>       at
> samples.security.ClientSigningHandler.invoke(ClientSigningHandler.java:99)
>       at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
>       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:151)
>       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:118)
>       at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
>       at org.apache.axis.client.Call.invoke(Call.java:1510)
>       at org.apache.axis.client.Call.invoke(Call.java:1327)
>       at org.apache.axis.client.Call.invoke(Call.java:1257)
>       at org.apache.axis.client.Call.invoke(Call.java:854)
>       at samples.stock.GetQuote.getQuote(GetQuote.java:124)
>       at samples.stock.GetQuote.main(GetQuote.java:138)
> AxisFault
>   faultCode: http://xml.apache.org/axis/:Server.userException
>   faultString: java.lang.RuntimeException: java.io.IOException: No
> serializer found for class java.lang.String in registry
> org.apache.axis.encoding.SerializationContextImpl@5c62d539
>   faultActor: null
>   faultDetail: 
>       stackTrace: java.lang.RuntimeException: java.io.IOException: No
> serializer found for class java.lang.String in registry
> org.apache.axis.encoding.SerializationContextImpl@5c62d539
>       at
> samples.security.SignedSOAPEnvelope.init(SignedSOAPEnvelope.java:161)
>       at
> samples.security.SignedSOAPEnvelope.<init>(SignedSOAPEnvelope.java:101)
>       at
> samples.security.ClientSigningHandler.invoke(ClientSigningHandler.java:99)
>       at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
>       at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:151)
>       at org.apache.axis.SimpleChain.invoke(SimpleChain.java:118)
>       at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
>       at org.apache.axis.client.Call.invoke(Call.java:1510)
>       at org.apache.axis.client.Call.invoke(Call.java:1327)
>       at org.apache.axis.client.Call.invoke(Call.java:1257)
>       at org.apache.axis.client.Call.invoke(Call.java:854)
>       at samples.stock.GetQuote.getQuote(GetQuote.java:124)
> 
>       at samples.stock.GetQuote.main(GetQuote.java:138)
> 
> 
> The client handler works by getting the request message out of the
> MessageContext that is passed to the handler's invoke method.  It then
> calls getSOAPEnvelope() to get an Envelope that can be signed.  Signing
> happens by creating a SignedSOAPEnvelope from the unsigned envelope. In
> order to sign the envelope, I need to get it as a DOM tree.  Calling
> getAsDocument on the unsigned envelope is what causes the blowup.  
> 
> It appears that the SerializationContextImpl that is being created is
> being created with no mappings.  I'm not familiar enough (yet) with the
> code to figure out where the mappings should be getting created in this
> case.
> 
> Any pointers would be greatly appreciated.
> 
> 
> On a related note:  A number of the tests us relative URIs for namespace
> values in the .wsdl files.   This turns into pain under XML Signature
> because we have to canonicalize the message.  It would save a lot of
> hassle if we stopped using these relative URIs.
> 
> Ted
> 
> 


=====
Davanum Srinivas - http://jguru.com/dims/

__________________________________________________
Do You Yahoo!?
Send FREE Valentine eCards with Yahoo! Greetings!
http://greetings.yahoo.com

Reply via email to