Frage

Ich habe den folgenden Code, die ich eine Webservice über HTTPS mit Apache CXF zu verwenden versuchen zuzugreifen. Aber immer, wenn meine Botschaft geht, bekomme ich nichts zurück, bis mein Code-mal aus. Kann jemand meinen Code geben einmal über ein und lassen Sie mich wissen, wenn ich etwas falsch tue. Ich habe versucht, den Dienst über SoapUI zuzugreifen und das ist in Ordnung, so dass es etwas in meinem CXF Code sein muss, aber ich weiß einfach nicht, was!

Vielen Dank für jede Hilfe

DepositImplService ss = new DepositImplService(WSDL_LOCATION,
    SERVICE_NAME);
PortType port = ss.getPortTypePort();

Client client = ClientProxy.getClient(port);

HTTPConduit conduit = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = conduit.getClient();
httpClientPolicy.setConnectionTimeout(30000);
httpClientPolicy.setReceiveTimeout(30000);
conduit.setClient(httpClientPolicy);

AuthorizationPolicy authPolicy = new AuthorizationPolicy();
authPolicy.setUserName("foo");
authPolicy.setPassword("bar");
conduit.setAuthorization(authPolicy);

TLSClientParameters parameters = new TLSClientParameters();
parameters.setSecureSocketProtocol("SSL");
conduit.setTlsClientParameters(parameters);

client.getInInterceptors().add(new LoggingInInterceptor());
client.getOutInterceptors().add(new LoggingOutInterceptor());

UploadRequestT doc = new UploadRequestT();
BufferedReader reader = new BufferedReader(new FileReader(new File(
    "C:\\rawmessage.txt")));
String documentStr = "";
String currLine = "";
while ((currLine = reader.readLine()) != null) {
  documentStr += currLine;
}

doc.setDoc(documentStr);
doc.setOwner("43");
port.upload(doc);
War es hilfreich?

Lösung

Was ist die Reaktionszeit von SoapUI?

Haben Sie dies über einen Monitor laufen, um zu sehen, dass es an der richtigen Adresse sendet?

Meine CXF-Code sieht wie folgt aus:

      PService phsService = new PService(url, SERVICE_NAME);
      P p = phsService.getPHSPort();
      LOG.info("Calling Web Service : getHs");

      StringArray ar = p.getHs();

      for (String hn: ar.getItem()) {
         LOG.info("Calling : getHName : " + hn);
         Dto nDto = p. getHName (hn);

         // process the result   

      }

Dieser Dienst dauert etwa 90secs zurück und läuft gut

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top