question about ksoap and apache soap
"sang park" <[email protected]>
| Newsgroups | gmane.text.xml.soap.user |
|---|---|
| Message-ID | <[email protected]> |
hi all, very new to the world of webservices and i am currently trying to
build a j2me webservices app. what I am trying to do in my app, is to add a
bookmark from my j2me client and send the Bookmark object as a parameter to
the RPC method. I've implemented the serializer and deserializer on the
server for the Bookmark class, and I believe I have my deployment descriptor
correct.
the soap deployment descriptor is as follows:
<isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
id="urn:feedproxy">
<isd:provider type="java"
scope="Application"
methods="getBookmarks">
<isd:java class="edu.feedproxy.service.FeedProxyService"/>
</isd:provider>
<isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListene
r>
<isd:mappings>
<isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding"
xmlns:x="urn:feedproxy"
qname="x:bookmark"
javaType="edu.feedproxy.bookmarks.Bookmark"
java2XMLClassName="edu.feedproxy.bookmarks.Bookmark"
xml2JavaClassName="edu.feedproxy.bookmarks.Bookmark"/>
</isd:mappings>
</isd:service>
The problem that I am running into is that it cannot find a 'Deserializer'
for my soap request. specifically, the error is as follows:
Error:SoapFault - faultcode: 'SOAP-ENV:Client' faultstring: 'No Deserializer
found to deserialize a 'urn:feedproxy:bookmark' using encoding style
'http://schemas.xmlsoap.org/soap/encoding/'.' faultactor:
'/soap/servlet/rpcrouter' detail: null
when i print out the request/response for this particular transaction, i get
the following:
+++++++++++++Invoking the soap call with request :
<SOAP-ENV:Envelope xmlns:n0="urn:feedproxy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<n0:addBookmark id="o0" SOAP-ENC:root="1">
<p1 xsi:type="xsd:string">[email protected]</p1>
<bookmark xsi:type="n0:bookmark">
<name xsi:type="xsd:string">newBookmark</name>
<url xsi:type="xsd:string">http://aaaa.xml.rss</url>
<max-items xsi:type="xsd:string">5</max-items>
<update-frequency xsi:type="xsd:string">5</update-frequency>
</bookmark>
</n0:addBookmark>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Error:SoapFault - faultcode: 'SOAP-ENV:Client' faultstring: 'No
Deserializer found to deserialize a 'urn:feedproxy:bookmark' using encoding
style 'http://schemas.xmlsoap.org/soap/encoding/'.' faultactor:
'/soap/servlet/rpcrouter' detail: null
********************response is <?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>No Deserializer found to deserialize a
'urn:feedproxy:bookmark' using encoding style
'http://schemas.xmlsoap.org/soap/encoding/'.</faultstring>
<faultactor>/soap/servlet/rpcrouter</faultactor>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
if anyone could help me take a look at the response/reqeust and figure out
what is wrong, i would really appreciate it. Could it be the econding style
for that bookmark? if so, then if i change teh encoding style, how would i
still have the SOAP data types defined?
any help would be much appreciated.
+s.park