2016-06-08 6 views
0

Ich benutze Axis2 RPCServiceClient, um einen Webservice aufzurufen. und alle Aufrufe an den Dienst müssen 3 Parameter enthalten: Benutzername, Kennwort und reqID. reqID ist ein GUID-Parameter, der von mir generiert wird.Wie füge ich einen Parameter in die Kopfzeile, ich rufe Webservice von axis2

Die reqID muss in den Header eingefügt werden.

Wenn ich mit soapUI den Dienst vom Http Analyzer testen, konnte ich finden, dass die reqID in den Anforderungsheadern mit SOAPAction, Inhaltstyp, Benutzer-Agent und Autorisierung enthalten ist.

wie man reqID in die Kopfzeile hinzufügen?

`RPCServiceClient client = new RPCServiceClient(); 
    Options option = client.getOptions(); 
    option.setAction("http://localhost:8080/api/Getbooks"); 
    EndpointReference erf = new EndpointReference(serviceAddress); 
    option.setTo(erf);  

    HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator(); 
    auth.setUsername("test"); 
    auth.setPassword("test"); 
    auth.setPreemptiveAuthentication(true); 

    option.setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, auth);' 

    [![this is request headers][1]][1] 

Antwort

0

Erstellen Sie eine Instanz von org.apache.axis2.client.ServiceClient

Erstellen Sie eine Instanz von org.apache.axis2.client.Options

erstellen http-Client-Header

Header header = new Header(); 
    header.setName("Request-Id"); 
    header.setValue(UUID.randomUUID().toString()); 
    List list = new ArrayList(); 
    list.add(header); 

options.setPr opererty (org.apache.axis2.transport.http.HTTPConstants.HTTP_HEADERS, Liste);

Verwandte Themen