我目前正在使用Java创建一个xml,然后将其转换为String.xml声明如下:
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
Document doc = docBuilder.newDocument();
doc.setXmlVersion("1.0");
Run Code Online (Sandbox Code Playgroud)
为了将文档转换为String,我包含以下声明:
TransformerFactory transfac = TransformerFactory.newInstance();
Transformer trans = transfac.newTransformer();
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
trans.setOutputProperty(OutputKeys.VERSION, "1.0");
trans.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
trans.setOutputProperty(OutputKeys.INDENT, "yes");
Run Code Online (Sandbox Code Playgroud)
然后我做了转型:
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
trans.transform(source, result);
String xmlString = sw.toString();
Run Code Online (Sandbox Code Playgroud)
问题是在XML声明属性中,包含独立属性,我不希望这样,但我希望显示版本和编码属性:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Run Code Online (Sandbox Code Playgroud)
有没有可以指定的财产?
我目前正在开发一个Web应用程序,我需要打开一个弹出窗口来显示报告.问题是某些版本的资源管理器不支持window.open javascript函数,所以在这种情况下我抓住错误并用location.href打开新的url.这里的代码:
try {
window.open(url, "","width=1002,height=700,location=0,menubar=0,scrollbars=1,status=1,resizable=0")
} catch(e) {
location.target = "_blank";
location.href = url;
}
Run Code Online (Sandbox Code Playgroud)
问题是location.target无法正常工作,我想知道是否有办法指定location.href的目标,以便可以在新选项卡中打开它.
我在Base64中的String中有我的私钥和公钥,其中使用ANS1 DER进行编码.我尝试创建java的实例PrivateKey并PublicKey:
byte [] llave2 = DatatypeConverter.parseBase64Binary(key);
PKCS8Key pkcs8 = new PKCS8Key( llave2, password.toCharArray()); //line 2
llave2 = pkcs8.getDecryptedBytes(); //line 3
certificado = DatatypeConverter.parseBase64Binary(cer);
KeyFactory kf = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec ks = new PKCS8EncodedKeySpec(llave2);
PrivateKey privateKey = kf.generatePrivate(ks);
X509EncodedKeySpec x = new X509EncodedKeySpec(certificado);
PublicKey publicKey = kf.generatePublic(x);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误PublicKey publicKey = kf.generatePublic(x).
java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: ObjectIdentifier() -- data isn't an object ID (tag = -96)
at sun.security.rsa.RSAKeyFactory.engineGeneratePublic(Unknown Source)
at java.security.KeyFactory.generatePublic(Unknown Source)
at vital.cancelaciones.GeneraXMLCancelacion.main(GeneraXMLCancelacion.java:118)
Caused by: java.security.InvalidKeyException: …Run Code Online (Sandbox Code Playgroud) 我正在使用JAXWS RI在Java中创建WebService.在自动部署应用程序WAR时会创建WSDL文件.问题是我希望WSDL文件中的参数(每个操作都收到)具有重要的名称,但是它们显示为arg0,arg1,arg2 ...有没有办法为这些参数定义名称而不是使用默认名称?
我已经实现了以下内容:
WebService接口
@WebService
@SOAPBinding(style = Style.RPC)
public interface WS2 {
@WebMethod String confirmaXML(String lrt_id);
}
Run Code Online (Sandbox Code Playgroud)
WebService接口实现
@WebService(endpointInterface = "vital.tde.ws2.WS2")
public class WS2Imp implements WS2{
public String confirmaXML(String lrt_id) {
String respuesta = null;
//CODE
return respuesta;
}
Run Code Online (Sandbox Code Playgroud)
太阳jaxws.xml
<?xml version="1.0" encoding="UTF-8"?>
<endpoints
xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="WS2" implementation="vital.tde.ws2.WS2Imp" url-pattern="/WS2" />
</endpoints>
Run Code Online (Sandbox Code Playgroud)
web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>WS2</display-name>
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<servlet-name>WS2</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WS2</servlet-name>
<url-pattern>/WS2</url-pattern> …Run Code Online (Sandbox Code Playgroud) 我需要使用在Java中使用Https构建的Web服务.使用Eclipse生成Web服务客户端并调用它我使用以下代码:
ServicioTimbradoPruebasLocator ServicioTimbradoLocator = new ServicioTimbradoPruebasLocator();
ServicioTimbradoPruebasSoap ServicioTimbrado = ServicioTimbradoLocator.getServicioTimbradoPruebasSoap();
javax.xml.rpc.Stub s =((javax.xml.rpc.Stub)ServicioTimbrado);
s._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "XXXXXXXX");
s._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "psswd");
String resultado = ServicioTimbrado.generaTimbre(xml.getBytes());
System.out.println("resultado: " +resultado);
Run Code Online (Sandbox Code Playgroud)
在这一行String resultado = ServicioTimbrado.generaTimbre(xml.getBytes()); 我收到以下错误:
AxisFault
[java] faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
[java] faultSubcode:
[java] faultString: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[java] faultActor:
[java] faultNode:
[java] faultDetail:
[java] {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[java] at sun.security.ssl.Alerts.getSSLException(Unknown …Run Code Online (Sandbox Code Playgroud) 我试图在Windows中为开发人员10.3.6(11g)配置我的Weblogic Server.从read me文件中,我在以下步骤中收到错误:
- 创建一个新的WLS域并启动WLS.(建议您在MW_HOME之外创建域)Windows $ mkdir C:\ home\myhome\mydomain $ cd C:\ home\myhome\mydomain $%JAVA_HOME%\ bin\java.exe -Xmx1024m -XX:MaxPermSize = 128m weblogic.Server
我在(C:/ WebLogic)中成功创建了目录,并在运行命令时:$ %JAVA_HOME%\bin\java.exe -Xmx1024m -XX:MaxPermSize=128m weblogic.Server,我被要求输入WebLogic的用户名,输入后我收到以下错误:<Error><Security><BEA-090783><Server is Running in Development Mode and Native Library<terminalio> to read the password securely from commandline is not found.>
我该怎么做才能解决这个问题?
我需要使用visual basic的java类6.我应该如何声明java类?我需要收到4个字符串,我该如何收到它们?如何从Visual Basic 6中调用此类?我该如何处理返回值?
当你意识到我对此很新,并感谢你的帮助.
我有一个在C#中运行的程序,它将XMLSignature应用于xml文档.我在两种情况下(C#和Java)都有相同的XML文档,但我没有得到相同的摘要和签名值.我知道我的C程序的结果是正确的,但我不能在Java中正确地得到它们.
这里是C#代码:
public void SignXml(XmlDocument xmlDoc, RSA Key)
{
// Check arguments.
if (xmlDoc == null)
throw new ArgumentException("xmlDoc");
if (Key == null)
throw new ArgumentException("Key");
// Create a SignedXml object.
SignedXml signedXml = new SignedXml(xmlDoc);
// Add the key to the SignedXml document.
signedXml.SigningKey = Key;
// Create a reference to be signed.
Reference reference = new Reference();
reference.Uri = "";
// Add an enveloped transformation to the reference.
XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform();
reference.AddTransform(env);
// Add the reference …Run Code Online (Sandbox Code Playgroud) 我有一个X509 Certificate,我想将其存储在一个MySQL DB而不是保存文件.因此,我认为最好将证书转换为base64并存储它.我完成了转换的前进和后退,但是我没有得到真正的结果.
我正在使用javax.security.cert.X509Certificate和导入org.apache.commons.codec.binary.Base64如下:
X509Certificate cert = X509Certificate.getInstance(new FileInputStream(certFile));
System.out.println("Vigencia: "+cert.getNotAfter());
System.out.println("Inicio: "+cert.getNotBefore());
String cert64 = bytes2String(Base64.encodeBase64(cert.toString().getBytes("UTF-8")));
System.out.println("Cert 64: "+ cert64);
String certRegreso = bytes2String(Base64.decodeBase64(cert64.getBytes()));
System.out.println("Cert Regreso: "+ certRegreso);
X509Certificate certNuevo = X509Certificate.getInstance(certRegreso.getBytes());
Run Code Online (Sandbox Code Playgroud) 我有byte[]我的私钥(llave)和byte[]我的公钥(certificado =.
我需要在a PrivateKey和PublicKeyobject(分别)中转换这两个值,以便稍后使用它们以数字方式签署xml文档.
我试过了KeyStore,我做不到.我也尝试过使用KeyFactory以下代码:
import java.io.StringWriter;
import java.security.KeyFactory;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.Collections;
import javax.xml.crypto.dsig.CanonicalizationMethod;
import javax.xml.crypto.dsig.DigestMethod;
import javax.xml.crypto.dsig.Reference;
import javax.xml.crypto.dsig.SignatureMethod;
import javax.xml.crypto.dsig.SignedInfo;
import javax.xml.crypto.dsig.Transform;
import javax.xml.crypto.dsig.XMLSignature;
import javax.xml.crypto.dsig.XMLSignatureFactory;
import javax.xml.crypto.dsig.dom.DOMSignContext;
import javax.xml.crypto.dsig.keyinfo.KeyInfo;
import javax.xml.crypto.dsig.keyinfo.KeyInfoFactory;
import javax.xml.crypto.dsig.keyinfo.KeyValue;
import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec;
import javax.xml.crypto.dsig.spec.TransformParameterSpec;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.DOMImplementation; …Run Code Online (Sandbox Code Playgroud) java ×9
encryption ×2
private-key ×2
web-services ×2
base64 ×1
c# ×1
certificate ×1
der ×1
dom ×1
javascript ×1
jax-ws ×1
oracle ×1
oracle11g ×1
public-key ×1
server ×1
soap ×1
vb6 ×1
weblogic11g ×1
window.open ×1
wsdl ×1
xml ×1