axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [jira] Commented: (AXIS-1465) Client-side handlers override settings (encoding, send_type_attr, ...) on the call object
Date Thu, 07 Oct 2004 05:30:53 GMT
The following comment has been added to this issue:

     Author: Jayachandra Sekhara Rao Sunkara
    Created: Wed, 6 Oct 2004 10:30 PM
Hi Yves,

Okay let me share what I did.
On my end, I ran it on 1.2 RC1 (got from CVS 2 days ago). JDK version is j2sdk1.4.2_05
I just cut copy pasted the client-config given in your bug reporting post into a client-config.wsdd
file and placed it in the classes directory. Classes directory is set in my classpath.
I modified the server-config.wsdd present in the root directory of your archive (i.e. tstCltHandlers)
to add the lines
<handler name="TestHandler" type="java:ch.TestHandler" />
<service name="SD" ...>
        <handler type="TestHandler" />
        <handler type="TestHandler" />

I ran the 'start ant server' to start the SAS on port 9000
Then I started tcpmon on port 7010 redirecting to 9000, this port number is changed in TestClient
also and the existing TestClient.class in classes/ch location is overridden with the new one.
Then I said 'start ant client'

In the tcpmon on the client side released soap request looks like

POST /axis/services/SD HTTP/1.0

Content-Type: text/xml; charset=utf-8

Accept: application/soap+xml, application/dime, multipart/related, text/*

User-Agent: Axis/1.2RC1


Cache-Control: no-cache

Pragma: no-cache

SOAPAction: ""

Content-Length: 534

<soapenv:Envelope xmlns:soapenv="" xmlns:xsd=""
      <SDRequest xmlns="">
         <UserAgent xsi:nil="true"/>
         <SDs schemaVersion="150">
            <ns1:SD xmlns:ns1="">

Note that there are no xsi:type declarations anywhere.
But I don't see any response in tcpmon and also SimpleAxisServer session is getting killed
with just one run of TestClient. Again this is something to do with TestHandler contents I
guess and not of interest to the way client side processing is done by Axis.
So in summary after the above said modifications are done I am still seeing that SEND_TYPE_ATTR
is understood to be Boolean.FALSE only and is not overwritten. Tell me if I missed any steps.
I think remeady to all drudgery is to get AXIS-RC1 and try :)

Thank you,
View this comment:

View the issue:

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: Open
   Priority: Critical

    Project: Axis
             Basic Architecture
             current (nightly)

   Assignee: Davanum Srinivas
   Reporter: Yves Langisch

    Created: Tue, 20 Jul 2004 2:23 AM
    Updated: Wed, 6 Oct 2004 10:30 PM
Environment: SuSE 9.1, JDK 1.4.2-b28

Description from my mail to the mailing-list:

On Mon, 19 Jul 2004 14:00:20 +0200, Yves Langisch <> 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=""
> >     xmlns: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=""/>
> >     <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'

This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:

If you want more information on JIRA, or have a bug to report see:

View raw message