2009-10-09 5 views
5

ich meine Testumgebung bin Einrichtung und ich muss programmatisch meine Handler/Transport registrieren stattdessen einen Client-config.wsdd der Verwendung:Befreien Sie sich von Client-config.wsdd in Achse

<?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> 

Möchten Sie wissen, wenn es möglich ist?

Vielen Dank im Voraus.

Antwort

10

OK, habe ich Achsen Quellen überprüft und der folgende Code mein Problem gelöst:

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; 
    } 
} 

Das ist es. Ich hoffe es hilft jemandem.

+0

Das Beispiel auf [JAX-RPC clientseitige Handler] (http://users.skynet.be/pascalbotte/rcx-ws-doc/jaxrpchandler.htm) gab mir einige gute Einblicke bei der Lösung eines ähnlichen Problems. Nur meine zwei Cent teilen. – user624558

Verwandte Themen