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.
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.