Apache 无法从SOAP UI调用WSO2 ESB中的安全代理服务

Apache 无法从SOAP UI调用WSO2 ESB中的安全代理服务,apache,axis2,wso2esb,soapui,rampart,Apache,Axis2,Wso2esb,Soapui,Rampart,我正在尝试调用WSO2 ESB中的安全代理服务。我遵循了这个伟大的原则 但是当我从soapui发送安全请求时。服务进入超时状态,我在ESB日志中发现一个错误。我仔细检查了教程的每个步骤。但我不知道为什么它不起作用 注意: <?xml version="1.0" encoding="UTF-8"?> <proxy xmlns="http://ws.apache.org/ns/synapse" name="EchoProxy" transports="h

我正在尝试调用WSO2 ESB中的安全代理服务。我遵循了这个伟大的原则

但是当我从soapui发送安全请求时。服务进入超时状态,我在ESB日志中发现一个错误。我仔细检查了教程的每个步骤。但我不知道为什么它不起作用

注意:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="EchoProxy"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full" separator="First Log"/>
         <log level="full" separator="Second Log"/>
         <send>
            <endpoint>
               <address uri="http://localhost:8280/services/echo"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <log level="full"
              separator=Out Sequence Log"/>
         <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
         <property name="ClientApiNonBlocking" scope="axis2" action="remove"/>
         <send/>
      </outSequence>
   </target>
   <parameter name="disableREST">true</parameter>
   <parameter name="ScenarioID">scenario5</parameter>
   <enableSec/>
   <policy key="conf:/repository/axis2/service-groups/EchoProxy/services/EchoProxy/policies/SigEncr"/>
   <description/>
</proxy>
[2015-02-17 16:32:54,793] ERROR - ServerWorker Error processing POST request for : /services/EchoProxy.EchoProxyHttpsSoap11Endpoint
org.apache.axis2.AxisFault: Message is not signed
    at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)
    at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
    at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
    at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
    at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.rampart.RampartException: Message is not signed
    at org.apache.rampart.PolicyBasedResultsValidator.validateEncrSig(PolicyBasedResultsValidator.java:264)
    at org.apache.rampart.PolicyBasedResultsValidator.validate(PolicyBasedResultsValidator.java:151)
    at org.apache.rampart.RampartEngine.process(RampartEngine.java:470)
    at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
    ... 10 more
[2015-02-17 16:33:54,690]  WARN - SourceHandler Connection time out after request is read: http-incoming-1
我正在使用WSO2ESB4.8.1和SOAPUI5.0.0

我的代理服务代码:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="EchoProxy"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full" separator="First Log"/>
         <log level="full" separator="Second Log"/>
         <send>
            <endpoint>
               <address uri="http://localhost:8280/services/echo"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <log level="full"
              separator=Out Sequence Log"/>
         <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
         <property name="ClientApiNonBlocking" scope="axis2" action="remove"/>
         <send/>
      </outSequence>
   </target>
   <parameter name="disableREST">true</parameter>
   <parameter name="ScenarioID">scenario5</parameter>
   <enableSec/>
   <policy key="conf:/repository/axis2/service-groups/EchoProxy/services/EchoProxy/policies/SigEncr"/>
   <description/>
</proxy>
[2015-02-17 16:32:54,793] ERROR - ServerWorker Error processing POST request for : /services/EchoProxy.EchoProxyHttpsSoap11Endpoint
org.apache.axis2.AxisFault: Message is not signed
    at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)
    at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
    at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
    at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
    at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
    at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.rampart.RampartException: Message is not signed
    at org.apache.rampart.PolicyBasedResultsValidator.validateEncrSig(PolicyBasedResultsValidator.java:264)
    at org.apache.rampart.PolicyBasedResultsValidator.validate(PolicyBasedResultsValidator.java:151)
    at org.apache.rampart.RampartEngine.process(RampartEngine.java:470)
    at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
    ... 10 more
[2015-02-17 16:33:54,690]  WARN - SourceHandler Connection time out after request is read: http-incoming-1

其余信息可以在上述教程中找到

您正在运行的rampart版本是什么?类似的问题也曾在BPS报道过,我只是个新手。您能告诉我如何检查我正在运行的rampart版本吗。我试着用谷歌搜索,但找不到任何答案。您是否遵循了代理服务的模块参与步骤?登录到ESB管理控制台并导航到列表服务->回送代理服务->模块参与。在那里你可以找到你正在使用的rampart版本。谢谢你的帮助。这是我找到的版本。rampart-1.61-wso2v12.兄弟,不知怎的,我已经解决了这个问题。当我再次执行所有配置时,我能够将请求发送到我的服务。但现在我面临这个问题。