我在weblogic中部署了BPMN复合应用程序。我在同一个weblogic服务器中部署了一个Web服务。两者(复合应用程序和Web服务)都使用安全策略。 BPMN应用程序调用Web服务,并将安全标头传递给服务。该服务部署为使用Apache CXF和Spring构建的耳朵。当我直接调用Web服务(使用SoapUI)时,它会正确响应。
当我调用BPMN流程时,它会失败,将这些日志写入我的CXF服务日志文件中:
<?xml version = '1.0' encoding = 'windows-1252'?>
<weblogic-application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-application http://www.bea.com/ns/weblogic/weblogic-application/1.0/weblogic-application.xsd"
xmlns="http://www.bea.com/ns/weblogic/weblogic-application">
<application-param>
<param-name>webapp.encoding.default</param-name>
<param-value>UTF-8</param-value>
</application-param>
<prefer-application-packages>
<package-name>org.hibernate.ejb.*</package-name>
<package-name>org.springframework.*</package-name>
<package-name>javax.jws.*</package-name>
<package-name>cu.*</package-name>
<package-name>javax.wsdl.*</package-name>
<package-name>antlr.*</package-name>
<package-name>javax.persistence.*</package-name>
<package-name>javax.xml.crypto.dsig.*</package-name>
<package-name>javax.xml.crypto.*</package-name>
<package-name>org.apache.*</package-name>
<package-name>org.apache.jcp.*</package-name>
<package-name>org.apache.xerces.*</package-name>
<package-name>org.apache.xalan.*</package-name>
<package-name>org.apache.xml.*</package-name>
<package-name>org.apache.wml.*</package-name>
<package-name>org.apache.html.*</package-name>
<package-name>org.apache.xpath.*</package-name>
<package-name>org.apache.regexp.*</package-name>
<package-name>org.apache.bcel.*</package-name>
<package-name>org.apache.cxf.*</package-name>
<package-name>org.apache.commons.*</package-name>
<package-name>org.apache.ws.*</package-name>
<package-name>org.hsqldb.*</package-name>
<package-name>com.ctc.wstx.*</package-name>
</prefer-application-packages>
</weblogic-application>
我无法理解的罐子有些麻烦。这是文件weblogic-application.xml的内容,位于ear文件的META-INF / weblogic-application.xml中:
extension PFUser {
var picture:PFFile? {
get {
return self["picture"] as? PFFile
}
set {
self["picture"] = newValue
}
}
var name:String?{
get {
return self["name"] as? String
}
set {
self["name"] = newValue
}
}
var score:Int? {
return self["score"] as? Int
}
}
答案 0 :(得分:0)
我在jre / lib / ext目录中复制了xmlsec.jar,它对我有用
答案 1 :(得分:0)
我们使用(关于技术)或多或少相同的东西,
在尝试解决应用程序的cxf部分时,我得到了相同的堆栈跟踪,并且(在我们的例子中)这是通过使用64位jvm而不是32位(客户端)来解决的;
希望它可以帮助某人...
S上。