You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Thamizh <tc...@yahoo.co.in> on 2008/07/15 13:48:02 UTC

Calling Axis service on Applet client

Hi All,
I am new to axis. I have deployed a sample axis web service which accepts a sting and displays "Hello "+string.

I have created a applet client in that I am calling that web service. here I am facing the following error.

java.net.MalformedURLException: no protocol: Axis
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at TestApplet.makeSoapCall(TestApplet.java:35)
    at TestApplet.init(TestApplet.java:22)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Please help me to solve this issue. Then It would be a great help for me..

Here is my applet code:

import java.applet.*;
import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.encoding.XMLType;

public class TestApplet1 extends Applet
{
    private static String endpoint = "http://xx.xx.xx.xx:8200/axis/services/TomcatTestService";
    public void init () {    
        System.out.println("\n**********\nStarting up!\n");
        makeSoapCall("Axis");
        System.out.println("\n**********\n");
    }    

private static void makeSoapCall( String message ){    
    try {
        // EndPoint URL for the HelloWorld Web Service
        String endpointURL =message; 
        String methodName = "getHelloMessage";
        Service service = new Service();
        Call call = (Call) service.createCall();
        
        //Set the endPoint URL
        call.setTargetEndpointAddress (new java.net.URL(endpointURL));
        
        call.setOperationName (methodName);
        call.addParameter("name",XMLType.XSD_STRING,ParameterMode.IN);    
        
        call.setReturnType (XMLType.XSD_STRING);    

          String result = (String) call.invoke (new Object[] { "AXIS" } );        
        //Print out the result
        System.out.println (result);
    }catch (AxisFault fault) {
        System.err.println("Error : " + fault.toString());
    }
    catch (Exception e) {
        e.printStackTrace();
      }
  }
}

Regards,
Thamizhannal P

       
---------------------------------
 From Chandigarh to Chennai - find friends all over India.  Click here.

Re: Calling Axis service on Applet client

Posted by Madhav <rr...@gmail.com>.
I think applets can access resources back from the same domain only from
where it gets downloaded/accessed.

So, one possible solution could be to host your applet page in a tomcat
instance and deploy a proxy servlet there. From the applet, call the servlet
proxy method and that method would in turn call the web service.

-Madhav

On Tue, Jul 15, 2008 at 5:18 PM, Thamizh <tc...@yahoo.co.in> wrote:

> Hi All,
> I am new to axis. I have deployed a sample axis web service which accepts a
> sting and displays "Hello "+string.
>
> I have created a applet client in that I am calling that web service. here
> I am facing the following error.
>
> java.net.MalformedURLException: no protocol: Axis
>     at java.net.URL.<init>(Unknown Source)
>     at java.net.URL.<init>(Unknown Source)
>     at java.net.URL.<init>(Unknown Source)
>     at TestApplet.makeSoapCall(TestApplet.java:35)
>     at TestApplet.init(TestApplet.java:22)
>     at sun.applet.AppletPanel.run(Unknown Source)
>     at java.lang.Thread.run(Unknown Source)
>
> Please help me to solve this issue. Then It would be a great help for me..
>
> Here is my applet code:
>
> import java.applet.*;
> import org.apache.axis.AxisFault;
> import org.apache.axis.client.Call;
> import org.apache.axis.client.Service;
> import javax.xml.rpc.ParameterMode;
> import org.apache.axis.encoding.XMLType;
>
> public class TestApplet1 extends Applet
> {
>     private static String endpoint = "
> http://xx.xx.xx.xx:8200/axis/services/TomcatTestService";
>     public void init () {
>         System.out.println("\n**********\nStarting up!\n");
>         makeSoapCall("Axis");
>         System.out.println("\n**********\n");
>     }
>
> private static void makeSoapCall( String message ){
>     try {
>         // EndPoint URL for the HelloWorld Web Service
>         String endpointURL =message;
>         String methodName = "getHelloMessage";
>         Service service = new Service();
>         Call call = (Call) service.createCall();
>
>         //Set the endPoint URL
>         call.setTargetEndpointAddress (new java.net.URL(endpointURL));
>
>         call.setOperationName (methodName);
>         call.addParameter("name",XMLType.XSD_STRING,ParameterMode.IN);
>
>         call.setReturnType (XMLType.XSD_STRING);
>
>           String result = (String) call.invoke (new Object[] { "AXIS" }
> );
>         //Print out the result
>         System.out.println (result);
>     }catch (AxisFault fault) {
>         System.err.println("Error : " + fault.toString());
>     }
>     catch (Exception e) {
>         e.printStackTrace();
>       }
>   }
> }
>
> Regards,
> Thamizhannal P
>
> ------------------------------
> From Chandigarh to Chennai - find friends all over India. Click here.<http://in.rd.yahoo.com/tagline_groups_10/*http://in.promos.yahoo.com/groups/citygroups/>




-- 
-Madhav