我有一个web服务,当我从SOAP UI调用它时工作正常,但是当我从Oracle PLSQL调用它时不起作用。
以下是我的请求XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nad="http://MyServer.User.Verification">
<soapenv:Header/>
<soapenv:Body>
<nad:VerifyDetails>
<nad:xml_request_data>
<USER_VERIFICATION>
<USERNAME>myuser</USERNAME>
<PASSWORD>myPass</PASSWORD>
</USER_VERIFICATION>
</nad:xml_request_data>
</nad:VerifyDetails>
</soapenv:Body>
</soapenv:Envelope>
以下是PLSQL中的错误消息
由于EndpointDispatcher上的ContractFilter不匹配,无法在接收方处理带有Action'verifyDetails'的消息。这可能是由于合同不匹配(发送方与接收方之间的操作不匹配)或发送方与接收方之间的绑定/安全性不匹配。检查发件人和收件人是否具有相同的合同和相同的约束(包括安全要求,例如邮件,传输,无)。
答案 0 :(得分:1)
在调用Web服务之前,您似乎没有指定SOAP操作。您可以检查wsdl中的操作。另外,请确保使用动作提供完整路径,而不仅仅是操作名称。