我正在尝试访问由证书保护的Web服务.安全性在IIS上设置,Web服务就在它后面.
我不认为WS-SECURITY会进行这种类型的身份验证.在调用Web服务时,有没有办法传递客户端证书?
我刚刚收到一个IIS错误页面,上面写着"该页面需要客户端证书".
我正在使用CXF 2.1.4
我正在尝试这样做,但我得到了错误.
"具有相同标识符值的不同对象已与会话关联"
看起来我需要从hibernate会话中删除dbObject.
def object = messageParserService.parseMessage(messageType, messageText)
def dbObject = object.getClass().findByIdentifier(object.identifier)
if(dbObject != null){
object.id = dbObject.id
object.dateCreated = dbObject.dateCreated
}
if(!object.save()) {
object.errors.each {println it}
}
Run Code Online (Sandbox Code Playgroud) 我在尝试运行JSP时遇到以下错误.我正在使用Tomcat 6.0.18,我想使用最新版本的JSTL.
我应该使用什么版本的JSTL,哪个URL与哪个版本的JSTL一起使用?
我收到了这个错误
"根据标记文件中的TLD或属性指令,属性键不接受任何表达式"
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
Run Code Online (Sandbox Code Playgroud)
我只是说我有这个工作,但我想在jar文件中切换具有TLD文件的JSTL jar文件.(而不是必须在Web应用程序中的某处部署它们并在web.xml中定义引用).
我们的情况如下,但我对任何情况下的这个问题都很好奇.
我们有一个由4个项目组成的框架:
我们还有需要版本的模块,并且依赖于bean和util的版本.
最后,我们有一个客户项目,包括特定版本的核心项目和一个或多个模块.
是否有标准方法来版本化这些项目?
对我来说似乎很简单的事情变得非常复杂,因为我们尝试向QA提供版本,然后通过维护版本(release = tag和可能的分支)来管理我们的持续开发.
我更喜欢以下内容:
1.2.0 - 主要版本和次要版本+发布.
1.2.1 - 下一个版本
1.2.0_01 - 1.2.0版本中的错误修复(分支)
等等
有任何想法吗?
我想从一个模式生成Java类的简单方法,以便我可以轻松地反序列化xml并使用对象进行解释.
使用Jaxb会很棒,但我对任何可以完成同样事情的框架持开放态度.架构是HL7 CDA架构.它非常复杂,我猜这就是我遇到问题的原因.
我尝试使用xjc和JAXB(这将是理想的)但我得到以下错误
xjc -d ~/code/ccd/java -p net.msdelta.cda -xmlschema -verbose CDA.xsd
parsing a schema...
compiling a schema...
[INFO] generating code
unknown location
Exception in thread "main" java.lang.IllegalArgumentException: trying to create the same field twice: id
at com.sun.codemodel.internal.JDefinedClass.field(JDefinedClass.java:408)
at com.sun.codemodel.internal.JDefinedClass.field(JDefinedClass.java:379)
at com.sun.tools.internal.xjc.generator.bean.field.AbstractFieldWithVar.createField(AbstractFieldWithVar.java:61)
at com.sun.tools.internal.xjc.generator.bean.field.SingleField.<init>(SingleField.java:78)
at com.sun.tools.internal.xjc.generator.bean.field.SingleField.<init>(SingleField.java:65)
at sun.reflect.GeneratedConstructorAccessor8.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.sun.tools.internal.xjc.generator.bean.field.GenericFieldRenderer.generate(GenericFieldRenderer.java:53)
at com.sun.tools.internal.xjc.generator.bean.field.DefaultFieldRenderer.generate(DefaultFieldRenderer.java:68)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.generateFieldDecl(BeanGenerator.java:736)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.generateClassBody(BeanGenerator.java:524)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.<init>(BeanGenerator.java:224)
at com.sun.tools.internal.xjc.generator.bean.BeanGenerator.generate(BeanGenerator.java:164)
at com.sun.tools.internal.xjc.model.Model.generateCode(Model.java:275)
at com.sun.tools.internal.xjc.Driver.run(Driver.java:332)
at com.sun.tools.internal.xjc.Driver.run(Driver.java:180)
at com.sun.tools.internal.xjc.Driver._main(Driver.java:105)
at com.sun.tools.internal.xjc.Driver.access$000(Driver.java:63)
at com.sun.tools.internal.xjc.Driver$1.run(Driver.java:85)
Run Code Online (Sandbox Code Playgroud) 我正在从数据库中撤回日期和时间.它们存储在单独的字段中,但我想将它们组合成一个适当反映日期/时间的java.util.Date对象.
这是我原来的方法,但它有缺陷.我总是得到一个6小时的日期/时间.我认为这是因为Time有一个时区偏移量和Date,我真的只需要其中一个来获得时区偏移量.
有关如何做到这一点的任何建议,以便它会给我正确的日期/时间?
import java.sql.Time;
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.lang.time.DateUtils;
public static Date combineDateTime(Date date, Time time)
{
if (date == null)
return null;
Date newDate = DateUtils.truncate(date, Calendar.DATE);
if (time != null)
{
Date t = new Date(time.getTime());
newDate = new Date(newDate.getTime() + t.getTime());
}
return newDate;
}
Run Code Online (Sandbox Code Playgroud) 如何使用Hibernate for Java将CHAR(1)映射到布尔值?
@Entity
public class TestClass implements Serializable{
private Integer id;
private Set<String> mySet;
@Id
@GeneratedValue
public Integer getId() {
return id;
}
@OneToMany(cascade={CascadeType.ALL})
public Set<String> getMySet() {
return mySet;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误.
Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: TestClass.mySet[java.lang.String]
Run Code Online (Sandbox Code Playgroud)
或者如果我离开@OneToMany
org.hibernate.MappingException: Could not determine type for: java.util.Set, at table: test_class, for columns: [org.hibernate.mapping.Column(my_sets)]
如何在我的java Web应用程序之外移动spring xml配置?
我想将spring.xml存储在我的Web应用程序之外,因此我不必创建我的应用程序的新版本来更改配置.
做这个的最好方式是什么?
我有通过WCF MSMQ传输公开的服务.
此服务的部分工作是根据键(source,item_id)查找项目.如果它找到一个它检索数据库标识符并使用它来更新记录.如果找不到,则插入新记录.
我注意到有两个项目可能同时进入,两者都看到数据库中没有项目,并且它们都尝试插入,但是一个项目因约束错误而失败.
我想限制对数据库查找和基于密钥(source,item_id)的代码的访问,这样只有一个线程可以一次完成该特定密钥的工作.
我已经汇总了一些代码来实现这一目标,但是我希望得到一些反馈,看看它是否有效或是否有更好的方法.
代码使用LockManager类:
public class ItemService
{
private static LockManager lockManager = new LockManager();
public void AddItem(Item item){
var itemKey = item.Source + ":" + item.ItemId;
lockManager.Work(itemKey, delegate(){ do stuff });
}
}
Run Code Online (Sandbox Code Playgroud)
LockManager 类:
public class LockManager
{
private readonly IDictionary<string, LockObject> _lockTable =
new Dictionary<string, LockObject>();
public void Work(string key, Action work)
{
var lockObject = BorrowLockObject(key);
try
{
lock (lockObject)
{
work();
}
}
finally
{
ReturnLockObject(lockObject);
}
}
private LockObject …Run Code Online (Sandbox Code Playgroud)