小编Tan*_*anc的帖子

SOAPUi和密钥库

最近,我不得不加强我和Web服务之间的SOAP通信.在我的服务器上创建私钥文件后,在创建/发送CSR后,以PEM格式接收证书文件.

我想在SOAPUi中测试它,但它一直说错误:访问被拒绝.客户端SSL证书必需.

我在这做了什么:

  • 证书转换

    openssl pkcs12 -export -out **certif.p12** -inkey **myprivatekey.pem** -in **Certificate-received.pem**
    
    Run Code Online (Sandbox Code Playgroud)
  • 密钥库导入

    keytool -importkeystore -deststorepass **changeit** -destkeypass **changeit** -destkeystore **pierrejks.jks** -srckeystore **certif.p12** -srcstoretype PKCS12 -srcstorepass **tenzin** -alias 1
    
    Run Code Online (Sandbox Code Playgroud)

在SOAPUi中,

我转到首选项并在SSL设置选项卡中,

  • 密钥库设置为pierrejks.jks

  • 密码库密码提供: changeit

  • 需要客户端身份验证.

现在在项目上(右键单击项目的根目录然后显示项目视图),我转到WS-Security Configurations,keystore选项卡添加新的源代码.

  • Source是pierrejks.jks文件的路径
  • 密码是的changeit
  • 默认值Alias设置为pierrealias
  • 没有提供别名密码

填写完这些信息后,状态就变好了

Outgoing WS-Security Configurations中,添加了一个带有新WSS-Entry Encryption的配置.

  • 配置名称是pierreconf
  • WSS条目类型是加密
  • Keystore选择是pierrejks.jks
  • 别名是1
  • 密码的changeit

最后,使用pierreconf Outgoing WSS配置文件发出请求,这是我有错误.此时,如果我理解正确,RAW选项卡显示它已加密: …

ssl openssl certificate soapui pem

8
推荐指数
1
解决办法
5万
查看次数

无法从String值构造java.util.Date的实例 - 不是有效的表示形式

很抱歉这似乎是一个多余的问题,但我确实有很多选择,尽管我努力阅读了十几个主题,但我无法理解该怎么做.

我有一个java应用程序,其工作是:

  1. 从SOAP WS(XML)获取数据,
  2. 做一些逻辑(传入的deliverydate将成为datebl)
  3. 最后将其发送到REST WS(JSON格式),它将更新Oracle表

计划如下:
SOAP WS ---- deliverydate ----> JAVA APP(逻辑)---- datebl ----> REST WS

在Java应用程序是使用的JAR jackson-core-asl-1.9.13.jarjackson-mapper-asl-1.9.13.jar等等.

我遇到的问题是处理日期.

读物:(试图受到启发但杰克逊版似乎不一样):

JSON以自定义格式序列化日期(无法从String值构造java.util.Date的实例)

Jackson 2.3.2:尽管将日期格式设置为ObjectMapper,但仍然会对Date进行反序列化

编辑01/04/15

http://jackson-users.ning.com/forum/topics/cannot-deserialize-a-date

现在的事实

要点1: 从SOAP WS恢复数据时,deliverydate是一个String,其精确值为:

2014-07-31 07:00:00.0

第2点: 在使用setter之前,我认为将此String格式化为日期可能是个好主意.

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                                    Date dateebl = dateFormat.parse(deliverydate);
                                    msi.setDatebl(dateebl);
Run Code Online (Sandbox Code Playgroud)

POJO中的datebl声明

private java.util.Date    datebl;
Run Code Online (Sandbox Code Playgroud)

在此阶段,datebl值已转换为

Thu Jul 31 07:00:00 CEST 2014

(尽管选择具体格式yyyy-MM-dd HH:mm:ss)

点3和错误我有:我 的错误由其余服务器抛出:

无法从字符串值'Thu Jul 31 07:00:00 CEST 2014'构造java.util.Date的实例:不是有效的表示形式(错误:无法解析日期"Thu Jul 31 07:00:00 CEST 2014":不符合任何标准形式("yyyy-MM-dd'T'HH:mm:ss.SSSZ","yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","EEE, dd MMM yyyy …

java date serializer jackson

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

另一个实体 - 不能被强制转换为javassist-util-proxy-proxy

以下线程[实体无法转换为javassist.util.proxy.Proxy,我现在有一个服务器端错误(tks thomas)我无法面对我的应用程序中的真正问题.

java.lang.ClassCastException: org.nit.persistance.entities.Manufacturers_.$$_javassist_3 cannot be cast to javassist.util.proxy.Proxy
    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:148)
    at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:73)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:758)
    at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:4419)
    at org.hibernate.event.internal.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:333)
    at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:259)
    at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151)
    at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1017)
    at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:944)
    at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:671)
    at org.hibernate.type.EntityType.resolve(EntityType.java:489)
    at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:168)
    at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:137)
    at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:1112)
    at org.hibernate.loader.Loader.processResultSet(Loader.java:969)
    at org.hibernate.loader.Loader.doQuery(Loader.java:917)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:318)
    at org.hibernate.loader.Loader.loadEntity(Loader.java:2143)
    at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82)
    at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72)
    at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3939)
    at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:461)
    at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:430)
    at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:207)
    at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:263)
    at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151)
    at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1017)
    at org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:173)
    at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2413)
    at org.hibernate.internal.SessionImpl.get(SessionImpl.java:913)
    at org.nit.persistance.dao.impl.FichesImpl.readbyPK(FichesImpl.java:24)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at …
Run Code Online (Sandbox Code Playgroud)

java proxy gwt many-to-one requestfactory

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

如何杀死spacemacs中的进程

我最近觉得有必要为我的erlang/elixir项目使用Spacemacs.(在eclipse上编写Erlang编码).

现在我对Spacemacs感觉更舒服,我对如何处理流程有疑问.

我在代码上犯了一个错误并且有一个无限循环.我在控制台上杀了它,但我想知道如何在spacemacs中做同样的事情.我发现SPC ap让我有可能列出所有正在运行的进程.

如果有可能在这个菜单中杀死一个正在运行的进程,可以请有人解释我(我是spacemacs/emacs的完全初学者)吗?

问候

皮埃尔

emacs kill-process spacemacs

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

我应该使用哪个charset来解码java中的这个字节数组?

我目前正在使用Soap Web服务,更准确地说,是恢复发送的文件.

它是手动工作:

在SOAPUi中,我确实收到了这个(为了便于阅读而被截断)

JVBERi0xLjQKJeLjz9MKMTIgMCBVY [...]
dL0luZm8gMTggMCBSL1NpemUgMTk + PgpzdGFydHhyZWYKNjk5OQolJUVPRgo =

我可以在notepad ++中粘贴此字符串,然后在单击MIME Tools> base 64 Decode之后,它将成为一个正确的PDF文件,如下所示(截断,只显示标题)

%PDF-1.4%xE2xE3xCFxD3LF 12 0 obj <> stream

因此可以毫无问题地读取PDF文件.

现在问题是使用java恢复这些数据.我收到一个byte数组(下面的示例中的acopier变量)并使用以下代码存储到文件中.我尝试了在网上找到的众多例子中没有任何成功.

还尝试使用UTF-8,ISO-8859-1等.

OutputStreamWriter osw = null;
    try{
    String filePath="c:\\temp\\";
    filePath = filePath.concat("test.pdf");
    FileOutputStream fos = new FileOutputStream(filePath,false);
    osw = new OutputStreamWriter(fos,"UTF-8");
    osw.write("\uFEFF");
    osw.write(new String(acopier));
    osw.close();
    System.out.println("Success");
    fos.close();
    }
    catch(Exception e)
    {
    System.out.println(e.getMessage());
    osw.close();
    }
Run Code Online (Sandbox Code Playgroud)

不幸的是,文件不能被视为pdf文件,

%PDF-1.4%ãÏÓ120 ob​​j <>流

当我试图检查字节数组中的内容时,控制台向我显示:(截断)

%PDF - 1.4

%????

1 2 0

我认为windows或记事本++或者soapui正在后台做一些事情来猜测要使用什么字符集,但我不知道有什么方法可以去.

可以请有人澄清我如何从头开始在java(意味着从原始的字节数组)?

问候,

皮埃尔

java pdf base64 utf-8 character-encoding

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