在PHP中使用webservice API

在PHP中使用webservice API,php,web-services,soap,wsdl,Php,Web Services,Soap,Wsdl,目前,我正在尝试利用此处记录的API: 我正在尝试使用getScore()web函数,但它总是给我以下错误: 致命错误:未捕获的SoapFault异常:[soap:Server]System.Web.Services.Protocols.SoapException:服务器无法处理请求。-->System.ArgumentNullException:值不能为null。 参数名称:s 在System.IO.StringReader..ctor处(字符串s) 位于System.Xml.XmlDocu

目前,我正在尝试利用此处记录的API:

我正在尝试使用getScore()web函数,但它总是给我以下错误:

致命错误:未捕获的SoapFault异常:[soap:Server]System.Web.Services.Protocols.SoapException:服务器无法处理请求。-->System.ArgumentNullException:值不能为null。 参数名称:s 在System.IO.StringReader..ctor处(字符串s) 位于System.Xml.XmlDocument.LoadXml(字符串Xml) 在D:\Jinu\FromJinu\BrandWatchPro\Feeds Fetching Projects\NaturalLanguageProcessing\NaturalLanguageProcessing\MomentalLanguageProcessing\MomentScore.asmx.cs中的NaturalLanguageProcessing.GetScore(字符串搜索XML)处:第204行

这是我目前代码中的内容:

$input = <<<EOD
<?xml version="1.0"?>
<root>
 <apikey>$apikey</apikey>
 <QueryItems>
      <query>
                <id>unique identifier 1</id>
                <brandname><![CDATA[This is the end]]></brandname>
                <paragraph><![CDATA[This is really bad, the world is about to end. HELP]]></paragraph>
      </query>
</QueryItems>
</root>
EOD;

$client = new SoapClient('http://api.sentimentanalysisonline.com/sentimentscore.asmx?WSDL');
$client->getScore($input);
$input=
排爆药;
$client=新的SoapClient('http://api.sentimentanalysisonline.com/sentimentscore.asmx?WSDL');
$client->getScore($input);

API密钥可以免费获取,您也可以自己尝试。这就是通过SOAP正确调用webfunction的方式吗?我不熟悉使用API,所以我正在尽可能多地学习和阅读。

尝试将Wsdl文件加载到SoapUI中。它将为您创建模拟请求信封,并允许您将请求发送到webservice。根据wsdl,您应该将xml作为requestXML属性发送

试试这个:


$client->getScore((对象)数组('requestXML'=>$input))

参数名称:s
。由于示例文本中似乎没有
s
,要么您没有提供所需的参数,要么您在其中插入的内容(apikey?)导致了XML畸形。另外,PHP中的
“$var”
是多余的
getScore($input)
是所有必需的。创建一个新字符串,将一个字符串填充到该新字符串中,然后启动该新字符串是没有意义的。只需按原样传递原始字符串。非常感谢您这么快回复$apikey就是这样,因为我不想释放我的apikey,如果你需要它来测试,我可以给你我的。我不明白的是
参数名:s
。函数GetScore(字符串输入)只需要一个xml,其中包含我在上面已经编码过的细节(根据API提供的文档)。至少据我所知,getscore函数不需要任何其他参数。我是新手,如果我听起来真的很无知,那么很抱歉:你确定你应该使用SOAP查询服务器吗?对我来说,这看起来像是一个类似rpc的api,但我找不到任何关于soap的东西,其他任何东西都找不到。