java servlet中的密钥库和信任库的代码位置
我正在使用组织的支付API。当客户付款时,API会自动向我们的服务器发布肥皂请求,我会用xml中的确认消息进行响应。 (退房的屏幕截图显示了SOAP UI一个简单的演示)java servlet中的密钥库和信任库的代码位置
我用Java做这个代码接收SOAP请求和发送响应。
`public class testsoap extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/xml;charset=UTF-8");
ServletInputStream out = request.getInputStream();
String xmlrpc = "";
int c = 0;
while((c = out.read()) != -1){ xmlrpc += (char)c; }
int startTag = xmlrpc.indexOf("<TransID>");
int endTag = xmlrpc.indexOf("</TransID>");
String parameter = xmlrpc.substring(startTag,endTag).replaceAll("<TransID>","");
String result="";
//result +="<?xml version=\"1.0\"?>\n";
result +="<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:c2b=\"http://cps.huawei.com/cpsinterface/c2bpayment\">\n";
result +="<soapenv:Header/>\n";
result +="<soapenv:Body>\n";
result +="<c2b:C2BPaymentConfirmationResult>C2B Payment Transaction "+parameter+" result received.</c2b:C2BPaymentConfirmationResult>\n";
result +="</soapenv:Body>\n";
result +="</soapenv:Envelope>\n";
response.getWriter().println(result);
}
}`
现在我需要添加我的密钥库和信任库的位置。 我应该在开始准备响应之前添加此代码吗?
` System.setProperty("javax.net.ssl.keyStore",path_to_keystore);
System.setProperty("javax.net.ssl.keyStorePassword",akeystorepassword);
System.setProperty("javax.net.ssl.trustStore",path_to_your_cacerts_file);
System.setProperty("javax.net.ssl.trustStorePassword",atrustsorepassword)`
或者我需要做一个片段,使用密钥库和信任库进行安全连接,而不仅仅是设置系统属性?
创建一个Java类并将所有需要发布的功能编写为一个方法。然后,您需要将这些功能发布为WSDL以供客户使用。请参见下面的教程,将带你一步一步地发布Web服务:
Step by Step JAX-WS Web Services with Eclipse, TomEE, and Apache CXF
Building a Simple Web Service ? A Tutorial
Implementing a simple web service
而且根据你的要求,你可以有复杂的对象作为输入参数如C2BPaumentConfirmationRequest
和KYCInfo
在你的情况下
萨尔曼,对不起,我忘了提及,我已经有一个现有的WSDL文件。该组织提供API。 –
@BrianHawi然后在这种情况下,您充当客户和充当服务器的支付组织。在这种情况下,您可以使用许多工具(例如Axis1.x,Axis2和Apcahce CXF)从WSDL链接创建一个代码。以下链接显示了使用Eclipse [从WSDL生成 客户端](http://www.eclipse.org/webtools/community/education/web/t320/Generating_a_client_from_WSDL.pdf)执行此操作的方法 – Salman
我仍然充当客户端?导致组织将数据发布到我的服务器,并将数据保存在数据库中,然后回复相应的响应... –
或者这不是做这个整个场景的适当方式吗? –