2009-10-09 15 views
5

Voy a configurar mi entorno de prueba y me tengo que registrar mi manejador de programación/transporte en lugar de utilizar un cliente-config.wsdd:Deshacerse de cliente-config.wsdd Eje

<?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"> 
<handler name="MyClient" type="java:foo.bar.MyClient"/> 
<transport name="MyTransport" pivot="MyClient"/> 
</deployment> 

¿Sabrías ¿si es posible?

Gracias de antemano.

Respuesta

10

bien, he comprobado fuentes del Eje y el siguiente código resuelve mi problema:

AxisProperties.setProperty(EngineConfigurationFactory.SYSTEM_PROPERTY_NAME, "foo.bar.MyEngineConfigurationFactory"); 

...

import org.apache.axis.EngineConfiguration; 
import org.apache.axis.EngineConfigurationFactory; 
import org.apache.axis.configuration.BasicClientConfig; 

public class MyEngineConfigurationFactory implements EngineConfigurationFactory { 

    public static EngineConfigurationFactory newFactory(Object param) { 
     return new MyEngineConfigurationFactory(); 
    } 

    public EngineConfiguration getClientEngineConfig() { 
     BasicClientConfig cfg = new BasicClientConfig(); 
     cfg.deployTransport("MyTransport", new MyClient()); 
     return cfg; 
    } 

    public EngineConfiguration getServerEngineConfig() { 
     return null; 
    } 
} 

Eso es todo. Espero que esto ayude a alguien.

+0

El ejemplo que se muestra en [JAX-RPC manejador del lado del cliente] (http://users.skynet.be/pascalbotte/rcx-ws-doc/jaxrpchandler.htm) me dio una buena idea al resolver un problema similar. Solo compartiendo mis dos centavos. – user624558