Hi all,
I am moving from Weblogic web services to Websphere, and am using Axis on WAS
5.1 because i need to use custom serializers and de-serializers, which Websphere
doesnt support currently.
I am having trouble getting my custom de-serializer to work,though my
serializer does work.
From the Axis documentation i saw that i could deploy my web app containing my
web service implementation classes, with axis jars in the WEB-INF\lib directory, and a
web.xml file that contains all the servlet defns and mappings for the AxisServlets.
So,
(1) I put all my classes in the WEB-INF\classes dir. I put the axis and xml
parser jars in the WEB-INF\lib dir. I put a server-config.wsdd file in the WEB-INF
dir,along with the web.xml file.
I did this so i wouldnt have to run the AdminClient again - is this ok ?
(2) The web app deploys fine, i can go to http://server:port/MyApp/services
and see the AdminService, the Version web service and my own web service.
My class WSTester has a method public String
processMiscellaneousReq(DummyParam param). I have created Serializers and
Deserializers for DummyParam and registered them in the wsdd file as follows (besides
the entries for AdminService and Version):
<service name="ComplexService" provider="java:RPC">
<parameter name="allowedMethods" value="*"/>
<parameter name="className" value="com.blackpearl.service.websphere.test.WSTester"/>
<typeMapping xmlns:ns="http://www.blackpearl.com/services" qname="ns:request"
languageSpecificType="java:com.blackpearl.service.websphere.test.DummyParam"
serializer="com.blackpearl.service.websphere.test.DummyParamSerializerFactory"
deserializer="com.blackpearl.service.websphere.test.DummyParamDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</service>
PROBLEMS/QUESTIONS:
(1) When i set the style to RPC, i cannot view my WSDL. i.e, i cannot go to
http://myserviceurl?wsdl. I see this error :
Canapos;t find prefix for 'http://www.blackpearl.com/services'. Namespace
prefixes must be set on the Definition object using the addNamespace(...) method.:
(2) When i set the style to document, i can view the WSDL. However, when i attempt to
execute it (using MindReef SOAPScope) i see this exception :
faultcode = soapenv:Server.userException,
faultstring = org.xml.sax.SAXException: SimpleDeserializer encountered a child
element, which is NOT expected, in something it was trying to deserialize.,
Im not sure if my de-serializer is being called at all.. is my wsdd file
correct ?
(3) Is there a schema for the WSDD file somewhere ? The user's guide provides some
information on the commonly used elements, but is not complete. Where do i find the
schema/dtd for it ? This would *really* help. I see some mention of elements like
<operation>, but they are not fully described in the User's Guide. Where should i be
looking ?
Any help is appreciated. Thanks in advance,
Leena.