【发布时间】:2015-06-10 17:57:34
【问题描述】:
我正在尝试使用 Coldfusion 运行 Web 服务。我可以在浏览器中正常运行 wsdl。当我尝试通过coldfusion运行它时,我得到:
Unable to parse WSDL as an XML document.
Parsing error: Fatal Error: URI=null Line=-1: Premature end of file.
It is recommended that you use a web browser to retrieve and examine the requested WSDL document to ensure it is correct.
我尝试了多种方法:
wsargs.login='******';
wsargs.password='******';
ws = CreateObject("webservice", "https://correcturl.com/dswsbobje/qaawsservices/biws?WSDL=1&cuid-******", wsargs);
req = getSOAPRequest(ws);
</cfscript>
<cfdump var="#req#">
<cfset wsargs = structNew()>
<cfset wsargs["login"]="******">
<cfset wsargs["password"]="******">
<cfinvoke webservice="https://correcturl.com/dswsbobje/qaawsservices/biws?WSDL=1&cuid=******"
method="runQueryAsAService"
returnvariable="results"
argumentCollection="#wsargs#">
</cfinvoke>
<cfinvoke webservice="https://correcturl.com/dswsbobje/qaawsservices/biws?WSDL=1&cuid=******"
method="runQueryAsAService"
returnvariable="results">
<cfinvokeargument name="login" value="******"/>
<cfinvokeargument name="password" value="******"/>
</cfinvoke>
但是都给我这个错误。我看到了其他相关的错误并尝试了其中的解决方案,例如清除 Application.cfc/cfm 并将 refreshwsdl='true' 添加到 cfinvoke,这些都没有做任何事情。谁能帮我解决这个问题?
谢谢。
【问题讨论】:
-
你能在浏览器中暴露wsdl吗?
-
是的,它显示在浏览器中。我还能够使用 chrome 插件向导来实际接收响应。
-
Alternativel,你能试试 CFHTTP 看看,是否可行。
-
我明天会试试,然后告诉你。谢谢!!
-
我发现使用 cfhttp 像:
但是有一个特定的方法必须运行(runQueryAsAService)。我如何告诉它运行该方法?
标签: web-services coldfusion coldfusion-9