小编Nov*_*ion的帖子

java将cdata添加到xml字符串

我需要将CDATA添加到xml字符串以便使用证书进行签名.

字符串看起来像:

<SignedContent>someparametres</SignedContent>
Run Code Online (Sandbox Code Playgroud)

结果必须如下:

<![CDATA[<SignedContent>someparametres</SignedContent>]]>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?请帮忙

PS Xml字符串只有一行(删除所有选项卡,所有空格,BOM)

java xml cdata

3
推荐指数
2
解决办法
2万
查看次数

Spring WS如何获取服务器端soap响应xml以添加带符号的soap标头

我有春季网络服务。我需要签署服务器(我的网络服务)为肥皂请求提供的肥皂响应。xwss 和 wss4j 拦截器不适合于此,因为我需要这种格式:

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34310-gost34311"/>
<ds:Reference URI="#b0525e8a-dbcb-45da-abfd-d1bdecf6ccbb">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gost34311"/>
<ds:DigestValue>valval=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
valuevalue==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
valuevaluevalue=
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
Run Code Online (Sandbox Code Playgroud)

我需要将其添加到我的响应中的肥皂头块中。为此,我必须获取整个soap响应的xml,包括soap env等。

如何获取该 xml,通过添加soap header 来修改它,最后将其作为响应发送?

请帮助我

java xml spring web-services spring-ws

2
推荐指数
1
解决办法
3229
查看次数

java从私有类调用public方法

我需要从像这样的库的公共类中调用私有构造函数:

public class XMLRoutine {
    private static XMLRoutine _instance;
    private XMLRoutine() {
    }
    public String signXml(String xml, PrivateKey privateKey, Certificate cert, String encoding) throws ParserConfigurationException, SAXException, IOException, PrivilegedActionException {
    }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试这样称呼时:

import kz.softkey.iola.applet.XMLRoutine;
...
XMLRoutine xmlr = new XMLRoutine();
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:XMLRoutine() has private access in XMLRoutine所以我不能调用方法signXml.

我怎么解决这个问题?

java methods private public call

1
推荐指数
1
解决办法
1192
查看次数

标签 统计

java ×3

xml ×2

call ×1

cdata ×1

methods ×1

private ×1

public ×1

spring ×1

spring-ws ×1

web-services ×1