Link to home
Start Free TrialLog in
Avatar of dinesh_bali
dinesh_bali

asked on

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 (http://test.gateway.englandnet.co.uk/IOGatewayWebService/ProductService.asmx).

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;
import java.net.*;

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

       String endpoint = "http://test.gateway.englandnet.co.uk/IOGatewayWebService/ProductService.asmx";
       
       call.setTargetEndpointAddress(new URL(endpoint));  
             
       call.setSOAPActionURI("http://gateway.englandnet.co.uk/IOGatewayWebservice/GetProduct");
             
       call.setOperationName(new QName("GetProduct"));

       String productId = args[0];
           
       String result = (String)call.invoke("http://gateway.englandnet.co.uk/IOGatewayWebservice/","GetProduct",new Object [] {new String(productId)});
       
       System.out.println("Got Product : ");
       System.out.println(result);        
   }
}

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 {http://gateway.englandnet.co.uk/IOGatewayWebservice/}ErrorView
      at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:277)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:345)
      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
      at org.apache.axis.client.Call.invoke(Call.java:2467)
      at org.apache.axis.client.Call.invoke(Call.java:2366)
      at GetProduct.main(GetProduct.java:25)

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

Thanks
 
Avatar of dinesh_bali
dinesh_bali

ASKER

Experts,

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.

Thanks.
ASKER CERTIFIED SOLUTION
Avatar of ysnky
ysnky
Flag of Türkiye image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial