看起来您发布到错误的 URI,而且我认为正文也不正确。
由于我无法确定适合您的正确值,因此我创建了一个类似的测试服务。一旦您看到我在工作服务上使用的 URI 和消息,也许您就能找到错误。
我创建了一个ZTEST
RFC,它只返回一个message
包含 string 的参数,从中Hello, World!
生成一个 SOAP 服务,并为它创建一个与soamanager
事务的绑定(也许您忘记了最后一步?)。结果如下:
WSDL URI:http://sapserver/sap/bc/srt/wsdl/srvc_[guid]/wsdl11/allinone/ws_policy/document?sap-client=200
WSDL 指定以下绑定 URI:http://sapserver/sap/bc/srt/rfc/sap/ztest/200/ztest/binding
http://sapserver/sap/bc/srt/rfc/sap/ztest/200/ztest/binding
向具有以下正文的任一绑定 URI发送 POST 请求(Content-Type text/xml
)会返回预期结果:
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<sapsess:Session xmlns:sapsess="http://www.sap.com/webas/630/soap/features/session/">
<enableSession>true</enableSession>
</sapsess:Session>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:Ztest xmlns:ns1='urn:sap-com:document:sap:soap:functions:mc-style'></ns1:Ztest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>