2012-09-13 7 views
0

1) Bonjour, Je suis en train d'utiliser les services d'administration pour créer un proxy à l'intérieur du bus ESB.WSO2 services ESB administrateur pour obtenir Créer proxy Java

J'ai exposé les services d'administration (cachés = false)

j'ai importé le wsdl dans mon projet Java https://localhost:8243/services/ProxyServiceAdmin?wsdl

Mais je ne peux pas l'entraînement comment appeler la méthode addProxy que j'utilise la mauvaise administration un service? S'il vous plaît aider avec un exemple de consommation de cette méthode.

ProxyServiceAdmin ps = new ProxyServiceAdmin(); 
ps.addProxy(); //wrong 

2) J'ai un proxy défini comme une ligne à cordes, comme

String xmlproxy="<?xml version='1.0' encoding='UTF-8'?><proxy xmlns='http://ws.apache.org/ns/synapse' name='MyProxy1' transports='https' startOnLoad='true' trace='disable'> <target inSequence='sequence1'>...." 

Est-il possible d'ajouter ce proxy en appelant une méthode des services d'administration?

merci beaucoup pour votre attention!

EDIT J'ai eu un coup d'oeil au WSDL « ProxyServiceAdmin? Wsdl » il dit <wsdl:operation name="addProxy"><http:operation location="addProxy"/><wsdl:input><mime:content type="text/xml" part="parameters"/></wsdl:input><wsdl:output><mime:content type="text/xml" part="parameters"/></wsdl:output>

il est là, mais pourquoi je ne peux pas l'appeler? Pourquoi mon code ne fonctionne pas comme un service Web normal? Vraiment, aidez s'il vous plaît. Je ne comprends pas ce que je fais mal ...

ProxyServiceAdmin ps = new ProxyServiceAdmin(); 
ps.addProxy(); //not recognized as an operation of ProxyServiceAdmin even if it is in the wsdl 

Répondre

2

Il vous suffit d'utiliser « org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminStub » à proxy annonce par les services d'administration

S'il vous plaît jeter un oeil à la suite du code et des commentaires en ligne.

String endPoint = *<your backend service url>* +"ProxyServiceAdmin"; 
    proxyServiceAdminStub = new ProxyServiceAdminStub(endPoint); 

Vous avez pour authentifier votre talon de service avant de faire usage de celui-ci

CarbonUtils.setBasicAccessSecurityHeaders(userName, password,      
           proxyServiceAdminStub._getServiceClient()); 

Nécessité de générer des objets ProxyData de votre proxy comme synaps xml

String[] transport = {"http", "https"}; 
    ProxyData data = new ProxyData(); 
    data.setName(proxyName); 
    data.setWsdlURI(*<url to your WSDL>*); 
    data.setTransports(transport); 
    data.setStartOnLoad(true);  
    data.setEndpointXML("<endpoint xmlns=\"http://ws.apache.org/ns/synapse\"><address uri=\"" + serviceEndPoint + "\" /></endpoint>"); 
    data.setEnableSecurity(true); 
    proxyServiceAdminStub.addProxy(data); 

Merci, Dharshana

+0

Merci, c'est une très bonne réponse, malchanceux je n'ai aucune expérience en ajoutant des paquets externes, pourriez-vous m'expliquer brièvement comment ajouter "org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminStub" ai-je besoin d'un fichier pom ou quelque chose de similaire ? Merci beaucoup! – nuvio

+0

Si trie pour construire la base de code wso2 ces dépendances seront résolues. Construire jusqu'à des stubs de service suffira. org.wso2.carbon org.wso2.carbon.proxyadmin.stub $ {} stub.version Dharshana

+0

Et utiliser WSO2-nexus WSO2 référentiel interne http://maven.wso2.org/nexus/content/groups/wso2-public/ tr UE par jour ignorer comme référentiel – Dharshana

0

C'est le JSP page est utilisé pour la création d'un laissez-passer par procuration. Vous pouvez remplir vos données proxy similaires à cela. Si vous parcourez les autres jsps, vous pouvez trouver des logiques similaires utilisées pour différents modèles de proxy. Here vous pouvez trouver le module complet, à la fois l'interface utilisateur et le code de service.

+0

importation org.wso2.carbon.proxyadmin.ui.client.ProxyServiceAdminClient; donne une erreur; le paquet n'existe pas -> comment puis-je obtenir le paquet? un lien pour télécharger ce dont j'ai besoin? Je – nuvio

+0

bien simplement ajouter wsdl à mon projet était assez – nuvio

+0

(http://dist.wso2.org/maven2/org/wso2/carbon/) vous trouverez ici le artifacts.Try publié en ajoutant des artefacts nommé sous-admin proxy * Comme je l'ai mentionné, ce n'est pas un échantillon autonome. Mais le code qui est utilisé dans le produit pour consommer le service d'administration et créer un service proxy.Ajouter seulement le wsdl ne fonctionnera pas. –

1

veuillez trouver l'échantillon pour créer un proxy u chantez le service d'administration here. J'ai ajouté le code de Darshana à un exemple complet.