我尝试获取此SoapRequest有一段时间了,但失败了:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >
<soap:Body xmlns:gog="http://www.test.nms">
<gog:GenerateRequest>
<gog:Application>TestApp</gog:Application>
<gog:User>TestUser</gog:User>
<gog: RequestCreateOnly>
<gog:Count>1</gog:Count>
<gog:Subject>Test</gog:Subject>
</gog: RequestCreateOnly>
</gog:GenerateRequest>
</soap:Body>
</soap:Envelope>
我必须用PHP来写。问题是:
如何更改命名空间?如何更改soap标签?谢谢你的建议和帮助!
我经常使用NuSOAP库来处理这类请求。我在下面包含了一段示例代码,它对你有帮助吗?
require_once('path-to-nusoap/nusoap.php');
$client = new nusoap_client("http://www.mywebservicehere.com", 'wsdl');
$client -> setDefaultRpcParams(true);
$client -> useHTTPPersistentConnection();
$client -> soap_defencoding = 'UTF-8';
$client -> setUseCurl(true);
$request = '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body xmlns:gog="http://www.test.nms">
<gog:GenerateRequest>
<gog:Application>TestApp</gog:Application>
<gog:User>TestUser</gog:User>
<gog: RequestCreateOnly>
<gog:Count>1</gog:Count>
<gog:Subject>Test</gog:Subject>
</gog: RequestCreateOnly>
</gog:GenerateRequest>
</soap:Body>
</soap:Envelope>';
$results = $client->send($request,'http://www.actionurlhere.com');