Problem with JAX-RPC generated clients.

J

jmc

I am generating a web service client with JAX-RPC 1.0.01 (have to use
this
older version, unfortunately). The client gets generated and will
compile.
However, it does not generate any beans to represent the complex data
structures passed back and forth. For every single method on the
service,
they params get passed back and forth as javax.xml.soap.SOAPElement
objects:

public javax.xml.soap.SOAPElement
baseCurrencySelect(javax.xml.soap.SOAPElement parameters) throws
java.rmi.RemoteException {
(generated with jax rpc 1.0.01).

It would probably all work, but I want the methods to use data objects
(beans)
representing this method specifically. I get this desired result when
I generate the client from the wsdl using AXIS 1.0:

public Sandlot.XmlWebServices._base_currency_select_response
baseCurrencySelect(Sandlot.XmlWebServices._base_currency_select_request
parameters) throws java.rmi.RemoteException {

This is all with a wsdl on my local computer. Just for comparison, I
tried
generating a client using the same JAX-RPC and the very same scripts,
only
this time pointing at Googl's web service wsdl:
http://api.google.com/GoogleSearch.wsdl

With the Google wsdl, the beans are generated and the methods use
them:
public GoogleSearch.GoogleSearchResult
doGoogleSearch(java.lang.String key, java.lang.String q, int start,
int maxResults, boolean filter, java.lang.String restrict, boolean
safeSearch, java.lang.String lr, java.lang.String ie, java.lang.String
oe) throws java.rmi.RemoteException {

So, I suspect it may have to do with the WSDL itself. Any ideas of
why my
client-side class is not generating or using data beans, but rather
using javax.xml.soap.SOAPElement objects, which are essentailly
open-ended and undefined about what member data might be present
(unlike
a desired bean class)?

Any help is much appreciated.

Thanks.
 
G

Grzegorz Trafny

jmc said:
For every single method on the service,
they params get passed back and forth as javax.xml.soap.SOAPElement
[cut]

So, I suspect it may have to do with the WSDL itself. Any ideas of
why my


Hi,

As usually, it may be many causes of such working of generator.

However if we are looking for problem only in WSDL description I can
guesses, that in the description of method (wsdl: definitions -> binding
-> operations -> operation) you have setted method invocation style
as "document". I guessed well?

Naturally, as service customer you can do nothing with this.
At least you can introduce "DAO" between SOAPElement
and client logic.

Greetings
GT
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,190
Members
46,736
Latest member
zacharyharris

Latest Threads

Top