如果不知道您正在使用的确切环境(目标 Web 服务、首选编程语言等),很难提供准确的答案。但我会尝试一个一般性的答案。
使用 Web 服务
SOAP Web 服务经常(总是?)提供机器可读的描述,可以被某些工具“使用”,以您喜欢的语言生成代码以与 API 交互。
例如,Salesforce 以 WSDL(Web 服务描述语言)文件的形式提供针对给定帐户定制的 SOAP API 描述。它是 XML,类似于 SOAP 请求/响应。对于我的应用程序,我使用 Visual Studio 在我的项目中使用 WSDL 文件创建对 Salesforce API 的引用。其余的通过简单的对象初始化和方法来完成。例如:
using ServiceName; // Namespace generated by Visual Studio using the WSDL.
var client = new ServiceClient("username", "password");
client.Create(new ServiceThing("information", "about the new thing"));
这个类似 C# 语法的示例将调用 SOAP API 以使用给定信息创建一些对象。网络请求的细节是完全隐藏的。
要了解如何使用目标 API 的服务,请搜索“使用 [您选择的语言] 使用 WSDL”之类的内容。更好的是,查看目标 Web 服务是否有描述如何使用它的文档。
从网页发送数据
有许多工具可以从 HTTP POST 请求中检索信息并对其采取行动。我最熟悉 ASP.NET。您似乎对 PHP 很熟悉。
为简单起见,您需要尝试使用与接收用户输入的 Web 服务相同的语言来使用目标 Web 服务。我将提供一个类似 ASP.NET 的示例,希望您可以将其转换为您喜欢的工具:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostback)
{
// a and b are names of input fields in our page.
string a = Request["a"];
string b = Request["b"];
// Let's assume we've initialized the web service client as a property.
Client.Create(new ServiceThing(a, b));
}
}
你去吧。无需手动 XML 编辑。SOAP XML 会根据您的ServiceThing
对象自动生成并发送到您的目标 Web 服务。
同样,这是对一般问题的一般回答。如果您使用更多细节更新您的问题,我将尝试使用更有针对性的详细信息编辑此答案。