You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Michael Thompson <mt...@uplogix.com> on 2004/07/26 15:56:40 UTC
client-config.wsdd
Using Axis 1.2 beta (the one off the web site).
I'm doing a bit of research with handlers. I'm attempting to write a
CompressionHandler which will gzip compress the request/response and
ungzip it on the other side. So in my server-config.wsdd I have
declared a request/response flow element as such:
<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>
<handler type="java:foo.bar.CompressionHandler"/>
</requestFlow>
<responseFlow>
<handler type="java:foo.bar.CompressionHandler"/>
</responseFlow>
I'm not sure about all the stuff in the JWSHandler in the request flow,
but it was generated based in the deploy.wsdd from wsdltojava.
Where I've hit a bit of a stumbling block is the client-config.wsdd.
I've created on based on my server-config.wsdd:
java org.apache.axis.utils.Admin client server-config.wsdd
This puts a lot of stuff in the client-config.wsdd that I'm not so sure
is necessary, as I was running just fine without it, but now things have
started acting flakey.
If I put the generated client-config.wsdd in my classpath, it complains
with a ClassNotFoundException for my service implementation class (which
would be expected becuase it is in another jar not distributed with the
client):
<service ... >
<other parameters here/>
<parameter name="className" value="foo.bar.ServiceImpl"/>
<type-mappings-here/>
</service>
So if I remove that one parameter, the client stops complaining(throwing
exceptions), but I'm not so sure it is sending anything to the server.
If I remove the client-config.wsdd all together, it sends the message to
my server (I get debug logging on the server).
So some of the debug from the log for axis:
java.lang.NoSuchMethodException:
org.apache.axis.encoding.ser.BeanSerializerFactory.create(java.lang.Class,
javax.xml.namespace.QName)
at java.lang.Class.getMethod(Class.java:978)
at
org.apache.axis.encoding.ser.BaseSerializerFactory.createFactory(BaseSerializerFactory.java:234)
at
org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:517)
at
org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:235)
at
org.apache.axis.deployment.wsdd.WSDDService.<init>(WSDDService.java:215)
at
org.apache.axis.deployment.wsdd.WSDDDeployment.<init>(WSDDDeployment.java:204)
at
org.apache.axis.deployment.wsdd.WSDDDocument.setDocument(WSDDDocument.java:121)
at
org.apache.axis.deployment.wsdd.WSDDDocument.<init>(WSDDDocument.java:60)
at
org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:171)
at org.apache.axis.AxisEngine.init(AxisEngine.java:155)
at org.apache.axis.AxisEngine.<init>(AxisEngine.java:139)
at org.apache.axis.client.AxisClient.<init>(AxisClient.java:49)
at org.apache.axis.client.Service.getAxisClient(Service.java:104)
at org.apache.axis.client.Service.<init>(Service.java:113)
I'm seeing lots of this from the initialization of my
ServiceLocator(generated by wsdl2java).
I'm also seeing this:
No service class was found! Are you missing a className option?
So if you are still reading this ;), how do I include a
client-config.wsdd to just specify that I want to us a global handler in
the request/response flows?
Thanks in advance!
--m