AMcoder - javascript, python, java, html, php, sql

Ինչպես կարգավորել Camel CXF-ը հիմնական իսկորոշմամբ

Ես նոր եմ Apache Camel-ում և CXF-ում,

Ես փորձում եմ ստեղծել երթուղի հեռավոր WS-ի հարցումներ ստանալու համար, որը պահանջում է Հիմնական նույնականացում և նշելու Soap Action վերնագիրը:

Ես կարողացա հասնել նույնը, օգտագործելով camel HTTP բաղադրիչը, բայց ինձ նույնն էր պետք Camel CXF-ի հետ java DSL-ում

Կարո՞ղ է որևէ մեկը մեզ ուղղորդել նույնը շտկելու հարցում

06.01.2014

  • Դուք կարող եք պարզապես ստեղծել POJO՝ ծառայությունը կանչելու և այն որպես լոբի ձեր երթուղու մեջ օգտագործելու համար: POJO-ն ինքնին կարող է պարունակել զ.ե. CXF WebClient, որն առաջարկում է հիմնական նույնականացման գործարանային մեթոդ 06.01.2014
  • Շնորհակալություն պատասխանի համար, կարո՞ղ եք տրամադրել մեզ որոշ կոդ՝ նույնը ստանալու համար, օրինակ՝ http բաղադրիչի համար, որը մենք ունենք authMethod=Basic ---› from(direct:routes): դեպի (localhost/); կարո՞ղ ենք նման օրինակ ունենալ CXF վեբհաճախորդի համար վերևում 07.01.2014

Պատասխանները:


1

Եթե ​​ցանկանում եք օգտագործել camel-cxf բաղադրիչը Հիմնական նույնականացումը կարգավորելու համար, դուք պետք է որոշակի կոնֆիգուրացիա կատարեք CxfEndpoint-ում հենց այսպես:

CxfEndpoint cxfEndpoint = camelContext.getEndpoint(“cxf:xxx”); 
// set the authentication information 
Map<String, Object> properties = new HashMap<String, Object>(); 

org.apache.cxf.configuration.security.AuthorizationPolicy authPolicy = new AuthorizationPolicy(); 
authPolicy.setUserName(username); 
authPolicy.setPassword(password); 
properties.put(AuthorizationPolicy.class.getName(), authPolicy); 

cxfEndpoint.setProperties(properties);     

from(“xxx”).to(cxfEndpoint); 
08.01.2014

2

@Willem-ի օգնությամբ նա կարողացավ դա անել: Նույնականացման հավատարմագրերը պետք է փոխանցվեն CXF վերջնակետին Route Builder-ում, այլ ոչ թե Processor-ում: Սա, ինչպես բացատրում է Ուիլիեմը Camel ֆորումում.

Եթե ​​դուք cxfEndpoint հատկությունը սահմանում եք պրոցեսորում, դա գործարկման ժամանակի կարգավորում է: Քանի որ CxfProducer-ը ստեղծվում է ուղտի մեկնարկի ժամանակ, cxfEndpoint-ի հատկությունը չի թարմացվում:

Այսպիսով, սա շտկելու համար Route Builder-ին ավելացրեք հետևյալ կոդը.

Map<String, Object> properties = new HashMap<String, Object>(); 

AuthorizationPolicy authPolicy = new AuthorizationPolicy(); 
authPolicy.setAuthorizationType(HttpAuthHeader.AUTH_TYPE_BASIC); 
authPolicy.setUserName(USERNAME); 
authPolicy.setPassword(PWD); 
authPolicy.setAuthorization("true");

//properties.put(AuthorizationPolicy.class.getName(), authPolicy);
properties.put("org.apache.cxf.configuration.security.AuthorizationPolicy", authPolicy);

CxfEndpoint myCxfEp = (CxfEndpoint)getContext().getEndpoint("cxf://");
myCxfEp.setProperties(properties); 

Նաև Apache Camel-ի 2.12.3 տարբերակում ներդնում է օգտանունի և գաղտնաբառի ընտրանքներ հիմնական նույնականացման համար:

24.01.2014
  • Այո, դուք կարող եք սահմանել օգտանունը, գաղտնաբառի տարբերակը CXF վերջնակետի uri-ում, ինչպես cxf://bean:myservice?username=user1&password=pass Camel 2.13.x-ում: 27.01.2014

  • 3

    Camel-cxf-ի ընթացիկ տարբերակներում պետք է բավարար լինի ուղղակիորեն CxfEndpoint-ում սահմանել օգտվողի անունը և գաղտնաբառը.

    cxfEndpoint.setUsername("xyz");
    csfEndpoint.setPassword("verySecure");
    

    Ես պարզապես նայեցի CxfEndpoint-ի կոդը և գտա.

    // setup the basic authentication property
    if (ObjectHelper.isNotEmpty(username)) {
        AuthorizationPolicy authPolicy = new AuthorizationPolicy();
        authPolicy.setUserName(username);
        authPolicy.setPassword(password);
        factoryBean.getProperties().put(AuthorizationPolicy.class.getName(), authPolicy);
    }
    

    Այսպիսով, եթե դուք սահմանեք օգտվողի անունը, հիմնական վավերացումը կկազմաձևվի, ինչպես ցույց է տրված այլ պատասխաններում:

    21.10.2016
    Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..