Thanks for your help. I am running my webservice on the localhost. What
file did you make this changes in?
There is already typemapping in the deploy.wsdd. If I were to add code like
the one below, which file would it be? As i am a novice, please be as specific
as possible (i.e. SampleImpl.class rather than saying "The Implementation
Class")
Yes I used WSDL2Java to create this service. I'm almost there!
James
In a message dated 6/21/2004 12:01:11 PM Eastern Standard Time,
[EMAIL PROTECTED] writes:
Hi,
I got the same problem and what i did is use some thing like
to specify the deserializer for my object in the client
program.
Call call = (Call)
service.createCall();
QName
qn = new QName( "uber.dataserver.com","DocumentRequest"
);
call.registerTypeMapping(DocumentRequest.class, qn,
new org.apache.axis.encoding.ser.BeanSerializerFactory(DocumentRequest.class,
qn),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(DocumentRequest.class,
qn));
QName qnameres =
new QName("uber.dataserver.com","DocumentResponse");
call.registerTypeMapping(DocumentResponse.class,qnameres,
new org.apache.axis.encoding.ser.BeanSerializerFactory(DocumentResponse.class,
qnameres),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(DocumentResponse.class,
qnameres));
QName qnameDate =
new QName("uber.dataserver.kmobjects.com","DataBases");
call.registerTypeMapping(DataBases.class,qnameDate,
new org.apache.axis.encoding.ser.BeanSerializerFactory(DataBases.class, qnameDate),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(DataBases.class, qnameDate));
This solved my
problem.
Or you can use stub to get to the service. I presume you used
WSDL2Java for generating the classses.
Hope this will help
you.
--Gautham
On Mon, 2004-06-21 at 11:51,
[EMAIL PROTECTED] wrote: > Hello, > > I am fairly new to
Axis. I have been developing a web service for > three weeks and have
been running into many many problems. I currently > generate the
following errors when I run the client for my deployed > service (Assume
all other previous steps done correctly): > >
----------------------------------------- > AxisFault >
faultCode: >
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException >
faultString: org.xml.sax.SAXException: Deserializing parameter >
'report&apo > s;: could not find deserializer for
type > {http://localhost:8080/axis/services/R >
eportHandlerServicePort}>report >
faultDetail: >
{http://xml.apache.org/axis/}stackTrace: AxisFault >
faultCode: >
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException >
faultString: org.xml.sax.SAXException: Deserializing parameter >
'report > ': could not find deserializer
for type > {http://localhost:8080/axis/se >
rvices/ReportHandlerServicePort}>report > >
org.xml.sax.SAXException: Deserializing parameter 'report': could
not > find dese > rializer for type >
{http://localhost:8080/axis/services/ReportHandlerServicePort} >
>
-------------------------------------------------------------------------- >
> Since research on the net has sent me in the direction of >
investigating my type mapping, here is the contents of my Deployment >
Descriptor. > >
---------------------------------------------------------------------------- >
<deployment >
xmlns="http://xml.apache.org/axis/wsdd/" >
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> >
> <!-- Services from ReportHandlerService WSDL service
--> > > <service
name="ReportHandlerServicePort" provider="java:RPC" > style="document"
use="literal"> > <parameter
name="wsdlTargetNamespace" >
value="http://localhost:8080/axis/services/ReportHandlerServicePort"/> >
<parameter name="wsdlServiceElement" >
value="ReportHandlerService"/> >
<parameter name="wsdlServicePort" >
value="ReportHandlerServicePort"/> >
<parameter name="className" >
value="localhost.axis.services.ReportHandlerServicePort.SampleDirectBindingSkeleton"/> >
<parameter name="wsdlPortType"
value="ReportHandler"/> > <parameter
name="allowedMethods" value="*"/> > >
<typeMapping > >
xmlns:ns="http://localhost:8080/axis/services/ReportHandlerServicePort" >
qname="ns:reports" >
>
type="java:localhost.axis.services.ReportHandlerServicePort._reports" >
>
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" >
>
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" >
encodingStyle="" >
/> > <typeMapping >
>
xmlns:ns="http://localhost:8080/axis/services/ReportHandlerServicePort" >
qname="ns:response" >
>
type="java:localhost.axis.services.ReportHandlerServicePort._response" >
>
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" >
>
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" >
encodingStyle="" >
/> > <typeMapping >
>
xmlns:ns="http://localhost:8080/axis/services/ReportHandlerServicePort" >
qname="ns:report" >
>
type="java:localhost.axis.services.ReportHandlerServicePort._report" >
>
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" >
>
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" >
encodingStyle="" >
/> > </service> > </deployment> >
------------------------------------------------------------------- >
The net's full of people with the same problem but not so full of >
answers. Could anybody help me out here? the "report" which it cannot >
find is a javabean which was defined in an XML Document of simple data >
types and referenced in my WSDL's successfully. > > James
Crosson >
|