axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 9925] New: - serializers called twice when logging is on
Date Mon, 17 Jun 2002 17:51:47 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9925>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9925

serializers called twice when logging is on

           Summary: serializers called twice when logging is on
           Product: Axis
           Version: beta-2
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: Serialization/Deserialization
        AssignedTo: axis-dev@xml.apache.org
        ReportedBy: wollsch@us.ibm.com


The logging code in SOAPPart.setCurrentMessage makes axis call the serializers twice when
logging is on. 

This is a problem when a serializer depends on resources that will be closed when the serializer
is done. Then on the second serializer call the serializer can't access this resource anymore.

Here's a stacktrace showing the two serializer calls:
The first invocation of my serializer:

MySerializer.serialize(javax.xml.rpc.namespace.QName, org.xml.sax.Attributes, java.lang.Object,
org.apache.axis.encoding.SerializationContext) line: 196
org.apache.axis.encoding.SerializationContextImpl.serializeActual(javax.xml.rpc.namespace.QName,
org.xml.sax.Attributes, java.lang.Object, java.lang.Class, javax.xml.rpc.namespace.QName,
boolean) line: 1033
org.apache.axis.encoding.SerializationContextImpl.serialize(javax.xml.rpc.namespace.QName,
org.xml.sax.Attributes, java.lang.Object, java.lang.Class, javax.xml.rpc.namespace.QName,
boolean, boolean) line: 633
org.apache.axis.encoding.SerializationContextImpl.outputMultiRefs() line: 685
org.apache.axis.message.SOAPEnvelope.outputImpl(org.apache.axis.encoding.SerializationContext)
line: 387
org.apache.axis.message.SOAPEnvelope(org.apache.axis.message.MessageElement).output(org.apache.axis.encoding.SerializationContext)
line: 651
org.apache.axis.message.SOAPEnvelope(org.apache.axis.message.MessageElement).getAsString()
line: 573
org.apache.axis.message.SOAPEnvelope(org.apache.axis.message.MessageElement).toString() line:
688
java.lang.String.valueOf(java.lang.Object) line: 2173
java.lang.StringBuffer.append(java.lang.Object) line: 369
org.apache.axis.SOAPPart.setCurrentMessage(java.lang.Object, int) line: 253
org.apache.axis.SOAPPart.<init>(org.apache.axis.Message, java.lang.Object, boolean)
line: 151
org.apache.axis.Message.setup(java.lang.Object, boolean, java.lang.String, java.lang.String)
line: 281
org.apache.axis.Message.<init>(java.lang.Object) line: 192
MyHandler.invoke(org.apache.axis.MessageContext) line: 287
org.apache.axis.strategies.InvocationStrategy.visit(org.apache.axis.Handler, org.apache.axis.MessageContext)
line: 71
org.apache.axis.handlers.soap.SOAPService(org.apache.axis.SimpleChain).doVisiting(org.apache.axis.MessageContext,
org.apache.axis.HandlerIterationStrategy) line: 154
org.apache.axis.handlers.soap.SOAPService(org.apache.axis.SimpleChain).invoke(org.apache.axis.MessageContext)
line: 121
org.apache.axis.server.AxisServer.invoke(org.apache.axis.MessageContext) line: 288
org.apache.axis.transport.local.LocalSender.invoke(org.apache.axis.MessageContext) line: 159
org.apache.axis.strategies.InvocationStrategy.visit(org.apache.axis.Handler, org.apache.axis.MessageContext)
line: 71
org.apache.axis.SimpleTargetedChain(org.apache.axis.SimpleChain).doVisiting(org.apache.axis.MessageContext,
org.apache.axis.HandlerIterationStrategy) line: 154
org.apache.axis.SimpleTargetedChain(org.apache.axis.SimpleChain).invoke(org.apache.axis.MessageContext)
line: 121
org.apache.axis.client.AxisClient.invoke(org.apache.axis.MessageContext) line: 174
org.apache.axis.client.Call.invoke() line: 1905
org.apache.axis.client.Call.invoke(org.apache.axis.message.SOAPEnvelope) line: 1224

The second invocation of my serializer:

MySerializer.serialize(javax.xml.rpc.namespace.QName, org.xml.sax.Attributes, java.lang.Object,
org.apache.axis.encoding.SerializationContext) line: 196
org.apache.axis.encoding.SerializationContextImpl.serializeActual(javax.xml.rpc.namespace.QName,
org.xml.sax.Attributes, java.lang.Object, java.lang.Class, javax.xml.rpc.namespace.QName,
boolean) line: 1033
org.apache.axis.encoding.SerializationContextImpl.serialize(javax.xml.rpc.namespace.QName,
org.xml.sax.Attributes, java.lang.Object, java.lang.Class, javax.xml.rpc.namespace.QName,
boolean, boolean) line: 633
org.apache.axis.encoding.SerializationContextImpl.outputMultiRefs() line: 685
org.apache.axis.message.SOAPEnvelope.outputImpl(org.apache.axis.encoding.SerializationContext)
line: 387
org.apache.axis.message.SOAPEnvelope(org.apache.axis.message.MessageElement).output(org.apache.axis.encoding.SerializationContext)
line: 651
org.apache.axis.SOAPPart.getAsString() line: 379
org.apache.axis.transport.local.LocalResponder.invoke(org.apache.axis.MessageContext) line:
81
org.apache.axis.strategies.InvocationStrategy.visit(org.apache.axis.Handler, org.apache.axis.MessageContext)
line: 71
org.apache.axis.SimpleChain.doVisiting(org.apache.axis.MessageContext, org.apache.axis.HandlerIterationStrategy)
line: 154
org.apache.axis.SimpleChain.invoke(org.apache.axis.MessageContext) line: 121
org.apache.axis.server.AxisServer.invoke(org.apache.axis.MessageContext) line: 300
org.apache.axis.transport.local.LocalSender.invoke(org.apache.axis.MessageContext) line: 159
org.apache.axis.strategies.InvocationStrategy.visit(org.apache.axis.Handler, org.apache.axis.MessageContext)
line: 71
org.apache.axis.SimpleTargetedChain(org.apache.axis.SimpleChain).doVisiting(org.apache.axis.MessageContext,
org.apache.axis.HandlerIterationStrategy) line: 154
org.apache.axis.SimpleTargetedChain(org.apache.axis.SimpleChain).invoke(org.apache.axis.MessageContext)
line: 121
org.apache.axis.client.AxisClient.invoke(org.apache.axis.MessageContext) line: 174
org.apache.axis.client.Call.invoke() line: 1905
org.apache.axis.client.Call.invoke(org.apache.axis.message.SOAPEnvelope) line: 1224

Mime
View raw message