我是nusoap和Web服务的新手.
wsdl文件来自客户端.我有一个基本的Web服务使用默认URL,它通过Web地址提供wsdl:http://hiddenurl.com/ws/schema/Terminal.wsdl
但客户端的文档说:"请在本地下载WSDL和XML模式文件,以便您的代码使用.不要每次都从我们的服务器获取这些文件."
所以我一直在尝试在本地托管wsdl文件,或者通过我自己的Web服务器,但都没有工作.
我试过了:
$wsdlUrl = 'http://supplied-url.com/schema/Terminal.wsdl' // working but discouraged
$wsdlUrl = 'http://my-own-IIS-based-url/schema/Terminal.wsdl' // url loads and I can
// view wsdl file, but when I load run webservice is returns blank / nothing
$wsdlUrl = 'path/to/local/Terminal.wsdl' // returns blank or 'boolean'false'
$tempUrl = realpath('path/to/local/Terminal.wsdl') // get absolute url
wsdlUrl = tempUrl; // returns blank screen or 'boolean'false'
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让Web服务使用来自客户端最初提供的位置以外的位置的wsdl文件?我看到一些Web服务器的引用返回wsdl与http://getfile.php?file.wsdl,但我不明白'getfile.php'中的内容是为了通过以下方式传递wsdl请求参数.
这是我调用Web服务的PHP代码.同样,它适用于wsdl文件的客户端提供的URL,但是当我尝试以任何其他方式访问wsdl文件时,它不起作用.
<?php
require_once('nusoap.php');
$URI = 'http://api.hiddenurl.com/ws/schema';
$env = 'api';
$wsdlUrl = 'http://'.$env.'.hiddenurl.com/schema/Terminal.wsdl';
$licenseKey = 'xxxx-xxxx-xxxx-xxxx-xxxx';
$userName …Run Code Online (Sandbox Code Playgroud)