Wcf 发送到SAP PI时,SOAP请求不正确

Wcf 发送到SAP PI时,SOAP请求不正确,wcf,soap,sap,sap-xi,sap-pi,Wcf,Soap,Sap,Sap Xi,Sap Pi,我正在使用一个SAP PI Web服务,由于某种原因它无法工作。我认为,由于下面的SOAP XML不正确: 这正是SAP PI所期望的: <?xml version="1.0" encoding="UTF-8"?> <ns0:A_Request xmlns:ns0="http://domain.co.au/abc"> <Root> <Element1>a</Element1> <Element1>

我正在使用一个SAP PI Web服务,由于某种原因它无法工作。我认为,由于下面的SOAP XML不正确:

这正是SAP PI所期望的:

<?xml version="1.0" encoding="UTF-8"?>
<ns0:A_Request xmlns:ns0="http://domain.co.au/abc">
   <Root>
      <Element1>a</Element1>
      <Element1>a</Element1>
   </Recordset>
</ns0:A_Request>

A.
A.
这就是我要发送的内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
<A_Request xmlns="http://domain.co.au/abc" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Root>
      <Element1>a</Element1>
      <Element1>a</Element1>
   </Recordset>
 </A_Request>

A.
A.
是否有任何方法(编程或配置)可以在客户端完成,以便按照服务器的预期格式化XML请求

或者,它应该固定在WSDL中,客户端程序(我的程序)将自动生成所需的xml


谢谢堆。

您不应该手动生成或格式化从客户端发送到服务器的XML。如果服务器公开一个有效的基于SOAP的服务,只需将客户端指向WSDL,它就会生成强类型的类,您可以使用这些类来使用该服务。如果您在客户端上使用.NET 3.0或更高版本,建议您使用(或在VS中添加服务引用)来生成这些类。如果您使用的是旧版本,您可以使用(或在VS中添加Web引用)。

谢谢Darin,我使用的是.NET 4.0。您的意思是服务器(SAP PI)应该用适当的名称间隔来修复WSDL吗。然后它将被客户端自动拾取并生成预期的SOAP消息?