目前我正在尝试使用此处记录的API: http://www.sentimentanalysisonline.com/page/documentation/
我正在尝试使用getScore()web函数,但它一直给我这个错误:
致命错误:未捕获的SoapFault异常:[soap:Server] System.Web.Services.Protocols.SoapException:服务器无法处理请求。 ---> System.ArgumentNullException:值不能为null。 参数名称:s 在System.IO.StringReader..ctor(String s) 在System.Xml.XmlDocument.LoadXml(String xml) at NaturalLanguageProcessing.SentimentScore.GetScore(String searchXML)在D:\ Jinu \ FromJinu \ BrandWatchPro \ Feeds Fetching Projects \ NaturalLanguageProcessing \ NaturalLanguageProcessing \ SentimentScore.asmx.cs:line 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);
您可以免费获取API密钥以供自己试用。这是通过SOAP正确调用web功能的方法吗?我是使用API的新手,所以我尽量学习和阅读。
答案 0 :(得分:0)
尝试将Wsdl文件加载到SoapUI中。它将为您创建模拟请求信封,并允许您将请求发送到Web服务。根据wsdl,您应该将xml作为requestXML属性发送。
试试这个:
$ client-&gt; getScore((object)array(&#39; requestXML&#39; =&gt; $ input));