我们有基于CXF的SOAP Web服务,我们从SOAP UI中搜索这些服务毫无问题。通过其中一项服务,我在准系统WSO2 ESB 4.6.0上设置了ProxyService。代理服务似乎正在使用管理控制台中的“试用”选项。当我尝试从SOAPUI访问它时,WSO2 ESB开始抱怨
“未找到操作的端点引用(EPR)是/ services / HelloWorldProxyService和WSA Action =。如果以前可以访问此EPR,请联系服务器管理员。”
现在,当我将SOAPUI中的端点URL更改为http:// hostname:8280 / services / service-name.port-name / operation-name时,事情开始起作用。
有谁知道如何解决这个问题? WSO2 ESB上是否有配置选项可以让我们将传统的SOAPUI与WSO2 ESB一起使用?
答案 0 :(得分:0)
您可以在soapui中指向代理服务URL(您可以通过特定代理的服务仪表板查看)和“动作”,在代理的序列中定义属性调用; 。 header name =“Action”value =“soap action”
以下是有关可用属性的指南
http://wso2.org/project/esb/java/3.0.0/docs/properties_guide.html
答案 1 :(得分:0)
如果我将operation1
放在WS URI
(http://somedomain.com/WebServiceProxyName/operation1)的末尾,我会遇到同样的问题,但是发布带有另一个操作的构造的SOAP消息体(operation2,3,4) ,5 ......)它有效!!!
<强>示例强>
POST http://somedomain.com/..../operation1 HTTP/1.1
....
....
<soap:Envelope ...>
<soap:Header/>
<soap:Body>
<ws:operation2>
</ws:operation2>
</soap:Body>
</soap:Envelope>
答案 2 :(得分:0)
尝试更改(原始)WSDL并将soapAction放在那里:
您可以将其定义为绑定部分中http://schemas.xmlsoap.org/wsdl/soap/:operation元素的属性,例如
<wsdl:binding name="healthcheck-1.0.0SOAP" type="tns:HealthCheck100PortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="doHealthCheck">
<soap:operation soapAction="http://www.xyz.ch/healthcheck-1.0.0/doHealthCheck"/>