我正在使用SAP PI Web Service,并且由于某些原因它无法正常工作。我在想是由于以下错误的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>
这是我要发送的:
<?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>
是否有任何方法(以编程方式或配置方式)可以在客户端完成以按照服务器期望的格式格式化XML请求?
或者,它应该在WSDL中固定,并且客户端程序(我的程序)将自动生成所需的xml?
谢谢你。
您不应该手动生成或格式化从客户端发送到服务器的XML。如果服务器公开有效的基于SOAP的服务,只需将客户端指向WSDL,它将生成强类型的类,您可以使用这些类来使用该服务。如果在客户端上使用.NET 3.0或更高版本,建议您使用svcutil.exe(或VS中的“添加服务引用”)生成这些类。如果您使用的是旧版本,则可以使用wsdl.exe(或在VS中添加Web参考)。