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 "Gupta, Ankit" <an...@informatica.com> on 2003/08/19 13:14:51 UTC

Client Side deployment

Hi group,
I have a web service and I want the clients to work with stubs. I wish to know whether it is possible to deploy client side handlers working with java stubs. Using The "org.apache.axis.client.Service" class it is possible to do so but is it possible with java stubs.
Any leads will be greatly appreciated
Thanks in Advance
Ankitb Gupta 


RE: Client Side deployment

Posted by Jim Harris <Ji...@blueyonder.co.uk>.
I had a problem where my client-side handler was not being envoked last
week.  The only way I could solve it was to declare the handler in the
<globalConfiguration> of the client-config.wsdd - declaring handlers per
service does not seem to work, maybe this is a bug...

HTH
Jim

> -----Original Message-----
> From: Guillaume.Sauthier@BULL.NET [mailto:Guillaume.Sauthier@BULL.NET]
> Sent: 22 August 2003 09:57
> To: axis-user@ws.apache.org
> Subject: Re: Client Side deployment
>
>
> Hello
>
> That's exactly what I am doing ! But It's not working !!
> But I didn't find a solution yet. Maybe am I doing someting wrong...
>
> I have a client-config.wsdd, axis generated Stub and Service
> Implementation.
> I think that we mmight use the
> <Generated>ServiceLocator.setEngineConfiguration method with a
> FileProvider("path/2/client-config.wsdd") as argument.
>
> I drop here a little code snippet to show you :
>
> client-config.wsdd
> -------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <deployment xmlns="http://xml.apache.org/axis/wsdd/"
> xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
>     <service name="AddressBookService" provider="java:RPC">
>             <requestFlow>
>                   <handler
> type="java:org.objectweb.ws.handlers.SimpleHandler"/>
>             </requestFlow>
>             <responseFlow>
>                   <handler
> type="java:org.objectweb.ws.handlers.SimpleHandler"/>
>             </responseFlow>
>     </service>
>       <transport name="java"
> pivot="java:org.apache.axis.transport.java.JavaSender"/>
>       <transport name="http"
> pivot="java:org.apache.axis.transport.http.HTTPSender"/>
>       <transport name="local"
> pivot="java:org.apache.axis.transport.local.LocalSender"/>
> </deployment>
> -------------------
>
> Java class :
> --------------
>         abServ = new AddressBookServiceLocator();
>
> 	/* set the configuration here */
> 	String path = System.getProperty("addressbook.dir") +
> "/../ab_client/";
> 	try {
> 	    path = new File(path).getCanonicalPath() + "/";
> 	}
> 	catch(Exception e) {
> 	    System.err.println("IOError on " + path);
> 	}
> 	EngineConfiguration conf = new FileProvider(path +
> "client-config.wsdd");
> 	System.out.println("file used : " + path +
> "client-config.wsdd conf=" +
> conf);
> 	try {
> 	    // Configuration of the engine by the config object
> 	    conf.configureEngine(service.getEngine());
> 	    // try to get some objects to see if EngineConfig is OK
> 	    SOAPService service = conf.getService(new
> QName("AddressBookService"));
> 	    Handler handler = conf.getHandler(new QName("simple"));
>
> 	    if (service == null)
> 		System.out.println("Service null");
>
> 	    if (handler == null)
> 		System.out.println("handler null");
> 	} catch (ConfigurationException ce) {
> 	    System.err.println("ConfError");
> 	}
>
>         try {
>             ab = abServ.getAddressBookService();
>         }
>         catch(javax.xml.rpc.ServiceException se) {
>             se.printStackTrace(System.err);
>         }
> --------------
>
>
> "Gupta, Ankit" wrote:
> >
> > Hi group,
> > I have a web service and I want the clients to work with stubs.
> I wish to know whether it is possible to deploy client side
> handlers working with java stubs. Using The
> "org.apache.axis.client.Service" class it is possible to do so
> but is it possible with java stubs.
> > Any leads will be greatly appreciated
> > Thanks in Advance
> > Ankitb Gupta
>



Re: Client Side deployment

Posted by Guillaume Sauthier <Gu...@BULL.NET>.
Hello

That's exactly what I am doing ! But It's not working !!
But I didn't find a solution yet. Maybe am I doing someting wrong...

I have a client-config.wsdd, axis generated Stub and Service
Implementation.
I think that we mmight use the
<Generated>ServiceLocator.setEngineConfiguration method with a
FileProvider("path/2/client-config.wsdd") as argument.

I drop here a little code snippet to show you :

client-config.wsdd
-------------------
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <service name="AddressBookService" provider="java:RPC">
            <requestFlow>
                  <handler
type="java:org.objectweb.ws.handlers.SimpleHandler"/>
            </requestFlow>
            <responseFlow>
                  <handler
type="java:org.objectweb.ws.handlers.SimpleHandler"/>
            </responseFlow>
    </service>
      <transport name="java"
pivot="java:org.apache.axis.transport.java.JavaSender"/>
      <transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
      <transport name="local"
pivot="java:org.apache.axis.transport.local.LocalSender"/>
</deployment>
-------------------

Java class :
--------------
        abServ = new AddressBookServiceLocator();
	
	/* set the configuration here */
	String path = System.getProperty("addressbook.dir") + "/../ab_client/";
	try {
	    path = new File(path).getCanonicalPath() + "/";
	}
	catch(Exception e) {
	    System.err.println("IOError on " + path);
	}
	EngineConfiguration conf = new FileProvider(path +
"client-config.wsdd");
	System.out.println("file used : " + path + "client-config.wsdd conf=" +
conf);
	try {
	    // Configuration of the engine by the config object
	    conf.configureEngine(service.getEngine());
	    // try to get some objects to see if EngineConfig is OK
	    SOAPService service = conf.getService(new
QName("AddressBookService"));
	    Handler handler = conf.getHandler(new QName("simple"));
	    
	    if (service == null)
		System.out.println("Service null");
	    
	    if (handler == null)
		System.out.println("handler null");
	} catch (ConfigurationException ce) {
	    System.err.println("ConfError");
	}

        try {
            ab = abServ.getAddressBookService();
        }
        catch(javax.xml.rpc.ServiceException se) {
            se.printStackTrace(System.err);
        }
--------------


"Gupta, Ankit" wrote:
> 
> Hi group,
> I have a web service and I want the clients to work with stubs. I wish to know whether it is possible to deploy client side handlers working with java stubs. Using The "org.apache.axis.client.Service" class it is possible to do so but is it possible with java stubs.
> Any leads will be greatly appreciated
> Thanks in Advance
> Ankitb Gupta

Re: Client Side deployment

Posted by Guillaume Sauthier <Gu...@BULL.NET>.
Hello

That's exactly what I am trying to do ! But It's not working !!
I didn't find a solution yet. Maybe am I doing something wrong...

I have a client-config.wsdd, axis generated Stub and Service
Implementation.
I think that we mmight use the
<Generated>ServiceLocator.setEngineConfiguration method with a
FileProvider("path/2/client-config.wsdd") as argument.

I drop here a little code snippet to show you :

client-config.wsdd
-------------------
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
    <service name="AddressBookService" provider="java:RPC">
            <requestFlow>
                  <handler
type="java:org.objectweb.ws.handlers.SimpleHandler"/>
            </requestFlow>
            <responseFlow>
                  <handler
type="java:org.objectweb.ws.handlers.SimpleHandler"/>
            </responseFlow>
    </service>
      <transport name="java"
pivot="java:org.apache.axis.transport.java.JavaSender"/>
      <transport name="http"
pivot="java:org.apache.axis.transport.http.HTTPSender"/>
      <transport name="local"
pivot="java:org.apache.axis.transport.local.LocalSender"/>
</deployment>
-------------------

Java class :
--------------
        abServ = new AddressBookServiceLocator();
        
        /* set the configuration here */
        String path = System.getProperty("addressbook.dir") +
"/../ab_client/";
        try {
            path = new File(path).getCanonicalPath() + "/";
        }
        catch(Exception e) {
            System.err.println("IOError on " + path);
        }
        EngineConfiguration conf = new FileProvider(path +
"client-config.wsdd");
        System.out.println("file used : " + path + "client-config.wsdd
conf=" +
conf);
        try {
            // Configuration of the engine by the config object
            conf.configureEngine(service.getEngine());
            // try to get some objects to see if EngineConfig is OK
            SOAPService service = conf.getService(new
QName("AddressBookService"));
            Handler handler = conf.getHandler(new QName("simple"));
            
            if (service == null)
                System.out.println("Service null");
            
            if (handler == null)
                System.out.println("handler null");
        } catch (ConfigurationException ce) {
            System.err.println("ConfError");
        }

        try {
            ab = abServ.getAddressBookService();
        }
        catch(javax.xml.rpc.ServiceException se) {
            se.printStackTrace(System.err);
        }
--------------

"Gupta, Ankit" wrote:
> 
> Hi group,
> I have a web service and I want the clients to work with stubs. I wish to know whether it is possible to deploy client side handlers working with java stubs. Using The "org.apache.axis.client.Service" class it is possible to do so but is it possible with java stubs.
> Any leads will be greatly appreciated
> Thanks in Advance
> Ankitb Gupta