我有一个基于Java的Web服务客户端连接到Java Web服务(在Axis1框架上实现).
我在日志文件中遇到以下异常:
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl$PrologDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:114)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:198)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
Run Code Online (Sandbox Code Playgroud) 我正在考虑系统将通知多个消费者有关一群物体发生的事件.每个订阅者应该能够订阅发生在零个或多个对象上的事件,多个订阅者应该能够接收有关发生在单个对象上的事件的信息.
我认为在这种情况下,某些消息排队系统是合适的,但我不知道如何处理我将拥有数百万个对象的事实 - 对每个对象使用单独的主题听起来不太好[或者是它正好?].
你能否建议我应该采取的方法,甚至可能是一些合理的开源消息排队系统?
更多细节:
在此先感谢您的反馈,并抱歉有些模糊的问题!
我正在开发一个基于java-oracle的项目,我遇到了一个问题,在我看来这需要一个分析解决方案.我正在寻找基于SQL查询或任何算法的解决方案或任何我可以遵循以获得所需结果的免费分析工具.
问题陈述: 让我们说我在下面的表中有columnA-D和最后一列作为分数,我想找到每个列的值的标准,当在SQL where子句中合并时,它总是给我分数列的正值.所以基本上什么组合的columnA-D总能给我积极的分数?
columnA|columnB|columnC|columnD|Score
1 40 10 3 -20
0 40 2 3 10
0 10 3 3 20
1 15 3 3 -5
0 10 2 2 -15
0 15 6 3 -10
Run Code Online (Sandbox Code Playgroud)
上述数据集的预期结果: - 上述数据集的 可视解释给出条件:"ColumnA = 0且columnB> 10,columnC <5将确保得分始终> 0".(视觉上它的清晰列D没有效果).
请注意,上面的数据集是为了简单起见.实际上,我的项目包含大约40列,近2500行.有一件事是确保每列都具有有限的值范围.
这是我开始使用的算法(如果有人认为我在正确的方向,需要输入进一步改进它):
准备:创建所有可能表达式的列表,如A = 0,B> 10,C <5(对于40列,我最终总计约150个表达式)
我们称之为"表达式"变量.
第一轮算法:
set totalPositiveRows =从我的表中选择count(*)得分> 0;
set totalNegativeRows =从我的表中选择count(*)得分<0;
对于表达式中的每个expr,计算以下三个变量设置positivePercentage =查找满足此expr的totalPositiveRows的百分比; //如果得分> 0的总共100行中有60行满足expr,那么positivePercentage = 60%
set negativePercentage= find percentage of totalNegativeRows which satisfy this expr; //like if …
Run Code Online (Sandbox Code Playgroud)我在我的项目中使用axis2实现了webservice(服务器端).我们希望在现有Web服务中启用WS-security.我们正在评估apache ramapart模块是否符合我们的需求.这是我们的要求:基本上我们有内部安全框架,提供加密,签名和令牌生成功能.我们的内部安全框架基本上需要以XML形式的一组配置,并且它公开各种API以执行各种安全操作.
现在有了上述环境,我可以想到三种可能的解决方案: -
我可以围绕内部安全框架开发一个axis2模块,并在安全阶段将其安装为.mar文件.所以我不会使用apache rampart.但是这种方法的问题是我不能使用ws-security策略来指定安全断言并确保传入的安全性令牌符合有效的策略.这就像重新发明轮子已经做的那样.
我相信apache rampart强调要求apache wss4j模块进行安全操作.我相信apache wss4j模块提供了一种注册第三方安全提供程序的方法(通过实现CryptoProvider接口).我不确定这是否是可行和可行的解决方案.请建议.
Ws-security策略允许使用自定义令牌.可以使用我们的内部安全框架构建此自定义令牌.所以基本上它使我们能够使用apache rampart模块创建ws-security策略,并使用我们的安全框架开发自定义令牌.但我在互联网上找不到这方面的帮助.有谁可以帮助举例.
任何其他建议也是最受欢迎的.
我有两个表:T1和T2
我想让外部连接T1和T2具有连接条件:
trunc(CT1,'Mi')=trunc(CT2,'Mi')(+)
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此SQL时,收到错误ORA 00936:缺少表达式。
知道这里有什么问题吗?