Consuming External Web Services through Java Client Using Apache Axis

Dear Expert,

I am very new in web services.

I want to create a java client to consume external web services using apache axis.

My web services are deployed on this location (

Can you please give me a java code. In which I can consume all the deployed web services?

Don't give me an apache examples. Please do write exact code.

This is what I have done till now.

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;

public class GetProduct
   public static void main(String [] args) throws Exception
       Service service = new Service();
       Call call = (Call)service.createCall();

       String endpoint = "";
       call.setTargetEndpointAddress(new URL(endpoint));  
       call.setOperationName(new QName("GetProduct"));

       String productId = args[0];
       String result = (String)call.invoke("","GetProduct",new Object [] {new String(productId)});
       System.out.println("Got Product : ");

its compiling but when I am trying to run by passing ProductID given below.

 C:\Jdk_1.6\src>java GetProduct 6696E2E0-FF4D-4BEA-8286-3851E256A49D

its giving error saying

- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
- Exception:
org.xml.sax.SAXException: Deserializing parameter 'GetProductResult':  could not find deserializer for type {}ErrorView
      at org.apache.axis.message.RPCHandler.onStartChild(
      at org.apache.axis.encoding.DeserializationContext.startElement(
      at org.apache.axis.message.SAX2EventRecorder.replay(
      at org.apache.axis.message.MessageElement.publishToHandler(
      at org.apache.axis.message.RPCElement.deserialize(
      at org.apache.axis.message.RPCElement.getParams(
      at org.apache.axis.client.Call.invoke(
      at org.apache.axis.client.Call.invoke(
      at GetProduct.main(

For your kind information, GetProduct() is web service deployed on the given link.

Who is Participating?
you can use wsdl2java to create required class and so you can easily call any service.

for more info;
dinesh_baliAuthor Commented:

I am waiting for your response on my question.

Its very urgent!!

Please take my question on priority. Otherwise it is type of wasting money.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.