• Post Reply Bookmark Topic Watch Topic
  • New Topic

web services interoperability  RSS feed

 
George Brown
Ranch Hand
Posts: 919
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I currently need to connect to a set of Web Services described using a published WSDL file and deployed using BEA's proprietary app server, over SSL, with additional web service password authentication. I can already connect and use the services using the web service client classes provided by BEA. However, I don't want to use those for the client, I'd rather use Axis or some other open source web service package for the client side.
Has anyone achieved this kind of interoperability successfully?
 
Pavan Panduga
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello George,
yes, we're doing this. We have a web service which requires authentication
we're using Axis client api which has methods to supply user name and password.
org.apache.axis.client.Call has setUserName(String), setPassword(String).
if that's not what you were looking for... ignore my ignorance.
Best Regards,
 
George Brown
Ranch Hand
Posts: 919
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Pavan, I'm glad to hear that. Let me tell you the problem in more specific terms...
My test client currently looks like this...

At the moment I get the following error:

I'm not sure why, and this may be nothing to do with the problem that I'm having, but the types generated from the WSDL2Java axis class deal with the WSDL Java packages in reverse (like namespaces) while the Weblogic conversion from WSDL to java puts the package naming in the order specified by the WSDL file.
Has anyone seen this 'missing deserializer' problem before? I wasn't aware that I needed to supply custom deserializers.
Is there a better, alternative way for me to use the axis client classes to get my web service results?
 
Pavan Panduga
Ranch Hand
Posts: 68
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello again,
I did encounter these kind of problems as well when I wrote a client class.
I experienced them for following 2 reasons
1.I think this problem occurs when you have some java-beans whose properties does not exactly match with the ones specified in the wsdl. Axis uses reflection and hence cannot find the appropriate methods to serialize or deserialize.
2.you're probably using wrong name spaces.
Remedies:
1: make sure all property names and setter getter methods look exactly as in the wsdl. Life was easier for me as I was using Eclipse.
or you could try to use "wsdl2java" to generate all the client classes, you'll have to edit your beans if they have some custom behaviour.
for 2: make sure you're using right namespaces. QName construction is the most importatn thing.
These were my experiences and I thought could help you, I'll have a look at yout code once again and if I come up with something I'll keep you informed.
Best Regards,
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!