私は、 guru4の石鹸クライアントを使用して、単純な「Hello World “プログラム。
Chromeコンソールからエラーが発生します。 Uncaught TypeError:nullのプロパティ
'documentElement'を読み取れません。
ここに私のJavaScriptがあります。
<script src="soapclient.js"></script>
<script type="text/javascript">
function say_hello()
{
var pl = new SOAPClientParameters();
pl.add("name", "john");
pl.add("times", 2);
SOAPClient.invoke("http://192.168.1.100:7789/", "say_hello", pl, true, say_hello_callBack);
}
function say_hello_callBack(r)
{
alert(r);
}
</script>
ここでは、私がやり取りしようとしているサーバーです。
import soaplib
from soaplib.core.service import soap
from soaplib.core.service import DefinitionBase
from soaplib.core.model.primitive import String, Integer
from soaplib.core.server import wsgi
from soaplib.core.model.clazz import Array
'''
This is a simple HelloWorld example to show the basics of writing
a webservice using soaplib, starting a server, and creating a service
client.
'''
class HelloWorldService(DefinitionBase):
@soap(String, Integer, _returns=Array(String))
def say_hello(self, name, times):
'''
Docstrings for service methods appear as documentation in the wsdl
what fun
@param name the name to say hello to
@param the number of times to say hello
@return the completed array
'''
results = []
for i in range(0, times):
results.append('Hello, %s' % name)
return results
if __name__=='__main__':
try:
from wsgiref.simple_server import make_server
soap_application = soaplib.core.Application([HelloWorldService], 'tns')
wsgi_application = wsgi.Application(soap_application)
print "listening to http://0.0.0.0:7789"
print "wsdl is at: http://127.0.0.1:7789/?wsdl"
server = make_server('localhost', 7789, wsgi_application)
server.serve_forever()
except ImportError:
print "Error: example server code requires Python >= 2.5"
SOAPクライアントのビルドインXMLジェネレータに依存しているため、このエラーが発生していると感じています。
ベストアンサー
あなたは Web開発ツール( Ctrl +
Shift + J )を開いてJSコード。
WSDLが存在しない可能性があります。結果メッセージの名前がこの ‘JavaScript
SOAPクライアント’でサポートされていない可能性があります( MethodName + "Result"
のように指定する必要があります(例:LoginResult))。