Hallo allerseits,
ich habe mal ein paar Fragen:
1.
auf einem Webservice ohne SSL kann ich ohne Probleme zugreifen. Doch wenn ich den Webservice als SSL-Verbindung einrichte, dann muß ich den Client um ein paar Zeilen erweitern....
was muß ich denn hier erweitern
2. ich benutze für die Verbindung zum webservice eine Signatur. Soll oder muß ich dafür den selben Schlüssel (RSA) benutzen?
client
Der Client ist von der WSDL-Datei abgeleitet und funktioniert. nur muß ich wohl für die ssl-Verbindung etwas hinzufügen?
die client-config.wsdd
der server
PS. in der server.xml habe ich den Port 8443 eingerichtet und dort das serverZertifikat eingetragen:
ich habe mal ein paar Fragen:
1.
auf einem Webservice ohne SSL kann ich ohne Probleme zugreifen. Doch wenn ich den Webservice als SSL-Verbindung einrichte, dann muß ich den Client um ein paar Zeilen erweitern....
was muß ich denn hier erweitern
2. ich benutze für die Verbindung zum webservice eine Signatur. Soll oder muß ich dafür den selben Schlüssel (RSA) benutzen?
client
Code:
import ha.*;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import org.apache.axis.EngineConfiguration;
import org.apache.axis.configuration.FileProvider;
public class TestSignaturClient
{
public static void main(String[] args) throws Exception
{
EngineConfiguration config = new FileProvider("c:\\java\\tomcat\\webapps\\axis\\WEB-INF\\client-config.wsdd");
TestSignaturServiceLocator loc = new TestSignaturServiceLocator(config);
TestSignatur_PortType pt = loc.getTestSignatur();
pt.getGreeting("hallo");
}
}
Der Client ist von der WSDL-Datei abgeleitet und funktioniert. nur muß ich wohl für die ssl-Verbindung etwas hinzufügen?
die client-config.wsdd
Code:
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
<globalConfiguration >
<requestFlow >
<handler type="java:org.apache.ws.axis.security.WSDoAllSender" >
<parameter name="action" value="Signature Timestamp"/>
<parameter name="user" value="client"/>
<parameter name="passwordCallbackClass" value="PWCallbackClient"/>
<parameter name="signaturePropFile" value="client_crypto.properties" />
<parameter name="mustUnderstand" value="0" />
</handler>
</requestFlow>
<responseFlow>
<handler type="java:org.apache.ws.axis.security.WSDoAllReceiver">
<parameter name="action" value="Signature Timestamp"/>
<parameter name="signaturePropFile" value="client_crypto.properties" />
<parameter name="mustUnderstand" value="0" />
</handler>
</responseFlow>
</globalConfiguration>
</deployment>
der server
Code:
public class TestService {
public String getGreeting(String name)
{
return "Hello "+name +"!";
}
}
PS. in der server.xml habe ich den Port 8443 eingerichtet und dort das serverZertifikat eingetragen: