You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ax...@ws.apache.org on 2004/07/21 09:02:40 UTC

[jira] Commented: (AXIS-1465) Client-side handlers override settings (encoding, send_type_attr, ...) on the call object

The following comment has been added to this issue:

     Author: Yves Langisch
    Created: Wed, 21 Jul 2004 12:00 AM
       Body:
After doing some debugging I saw that the problem seems to be the call of the setClientHandlers method. It forces the creation of a new SOAPService which is then associated with the MessageContext. The problem here is that we loose the whole TypeMapping we have done in the stub since the registering in stub happens in the default axisengine.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/AXIS-1465?page=comments#action_36802

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/AXIS-1465

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: AXIS-1465
    Summary: Client-side handlers override settings (encoding, send_type_attr, ...) on the call object
       Type: Bug

     Status: Unassigned
   Priority: Critical

    Project: Axis
 Components: 
             Basic Architecture
             Serialization/Deserialization
   Versions:
             current (nightly)
             beta-2

   Assignee: 
   Reporter: Yves Langisch

    Created: Tue, 20 Jul 2004 2:23 AM
    Updated: Wed, 21 Jul 2004 12:00 AM
Environment: SuSE 9.1, JDK 1.4.2-b28

Description:
Description from my mail to the mailing-list:

****************
On Mon, 19 Jul 2004 14:00:20 +0200, Yves Langisch <li...@langisch.ch> wrote:
> Follow-up: I have the same behaviour when I set the handlers on the call
> (setClientHandlers). It's already enough to invoke the method with an
> empty chain to get the described behaviour.
> 
> Tested with 1.2beta1 and 1.2beta2.
> 
> What's wrong here?
> 
> Yves
> 
> 
> 
> On Mon, 2004-07-19 at 11:31, Yves Langisch wrote:
> > All,
> >
> > I have a document/literal web service which I invoke through the
> > wsdl2java generated stub. So far everything is okay. Now, if I create a
> > client-config.wsdd to define some handlers, it seems that the
> > client-config.wsdd overrides the encoding settings made by the stub
> > although there is no encodingStyle -> call seems to be soap-encoded
> > instead of literal afterwards. Following the client-config.wsdd:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <deployment name="defaultClientConfig"
> >     xmlns="http://xml.apache.org/axis/wsdd/"
> >     xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
> >     <transport name="http"
> > pivot="java:org.apache.axis.transport.http.HTTPSender"/>
> >     <transport name="local"
> > pivot="java:org.apache.axis.transport.local.LocalSender"/>
> >     <transport name="java"
> > pivot="java:org.apache.axis.transport.java.JavaSender"/>
> >     <service name="SalaryDeclaration">
> >         <requestFlow>
> >             <handler type="java:a.b.c.SOAPMonitorHandlerClient"/>
> >         </requestFlow>
> >         <responseFlow>
> >             <handler type="java:a.b.c.SOAPMonitorHandlerClient"/>
> >         </responseFlow>
> >     </service>
> > </deployment>
> >
> > Is this a normal behaviour?
> >
> > Yves
> 
> 
********************

In the meantime I also saw that other properties like SEND_TYPE_ATTR are not preserved since for each element there is xsi:type.

I could locate where the switching of the encoding happens. It's in the MessageContext class in the setService method (-> setEncodingStyle(service...). Since I call setClientHandlers there is a new SOAPService generated which has no (or default encoded) encoding settings. Properties don't seem to preserved too.

I'll attach a test project (with ant script) which shows the issue. I hope with these resources the issue is solved soon since I didn't find any workaround to get client-side handlers working and we really need them.

start the server with 'ant server' ...
change the port in the TestClient in order to use TCPMon
start client with 'ant client'



---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira