最近,我不得不加强我和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选项卡添加新的源代码.
填写完这些信息后,状态就变好了
在Outgoing WS-Security Configurations中,添加了一个带有新WSS-Entry Encryption的配置.
最后,使用pierreconf Outgoing WSS配置文件发出请求,这是我有错误.此时,如果我理解正确,RAW选项卡显示它已加密: …
很抱歉这似乎是一个多余的问题,但我确实有很多选择,尽管我努力阅读了十几个主题,但我无法理解该怎么做.
我有一个java应用程序,其工作是:
计划如下:
SOAP WS ---- deliverydate ----> JAVA APP(逻辑)---- datebl ----> REST WS
在Java应用程序是使用的JAR jackson-core-asl-1.9.13.jar和jackson-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 …
以下线程[实体无法转换为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) 我最近觉得有必要为我的erlang/elixir项目使用Spacemacs.(在eclipse上编写Erlang编码).
现在我对Spacemacs感觉更舒服,我对如何处理流程有疑问.
我在代码上犯了一个错误并且有一个无限循环.我在控制台上杀了它,但我想知道如何在spacemacs中做同样的事情.我发现SPC ap让我有可能列出所有正在运行的进程.
如果有可能在这个菜单中杀死一个正在运行的进程,可以请有人解释我(我是spacemacs/emacs的完全初学者)吗?
问候
皮埃尔
我目前正在使用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 obj <>流
当我试图检查字节数组中的内容时,控制台向我显示:(截断)
%PDF - 1.4
%????
1 2 0
我认为windows或记事本++或者soapui正在后台做一些事情来猜测要使用什么字符集,但我不知道有什么方法可以去.
可以请有人澄清我如何从头开始在java(意味着从原始的字节数组)?
问候,
皮埃尔
java ×3
base64 ×1
certificate ×1
date ×1
emacs ×1
gwt ×1
jackson ×1
kill-process ×1
many-to-one ×1
openssl ×1
pdf ×1
pem ×1
proxy ×1
serializer ×1
soapui ×1
spacemacs ×1
ssl ×1
utf-8 ×1